summaryrefslogtreecommitdiff
path: root/sample/openssl/cert2text.rb
diff options
context:
space:
mode:
Diffstat (limited to 'sample/openssl/cert2text.rb')
-rw-r--r--sample/openssl/cert2text.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/sample/openssl/cert2text.rb b/sample/openssl/cert2text.rb
new file mode 100644
index 0000000..50da224
--- /dev/null
+++ b/sample/openssl/cert2text.rb
@@ -0,0 +1,23 @@
+#!/usr/bin/env ruby
+
+require 'openssl'
+include OpenSSL::X509
+
+def cert2text(cert_str)
+ [Certificate, CRL, Request].each do |klass|
+ begin
+ puts klass.new(cert_str).to_text
+ return
+ rescue
+ end
+ end
+ raise ArgumentError.new('Unknown format.')
+end
+
+if ARGV.empty?
+ cert2text(STDIN.read)
+else
+ ARGV.each do |file|
+ cert2text(File.read(file))
+ end
+end