diff options
author | NAKAMURA Hiroshi <nahi@keynauts.com> | 2003-07-04 15:00:06 +0000 |
---|---|---|
committer | NAKAMURA Hiroshi <nahi@keynauts.com> | 2003-07-04 15:00:06 +0000 |
commit | d3a6a01c0f64c2bf7e56b9fbc94215b788687c13 (patch) | |
tree | e05becf81353ea83eda161d95aa0a14e168ba77c | |
parent | d705584edac70acc47e1d8f7f630da952a3c1c09 (diff) | |
download | ruby-openssl-history-d3a6a01c0f64c2bf7e56b9fbc94215b788687c13.tar.gz |
* examples/gen_ca_cert.rb: Pass DN as a command line parameter.
-rw-r--r-- | ChangeLog | 1 | ||||
-rwxr-xr-x | examples/gen_ca_cert.rb | 15 |
2 files changed, 14 insertions, 2 deletions
@@ -1,5 +1,6 @@ Fri, 04 Jul 2003 23:56:09 +0900 -- NAKAMURA, Hiroshi <nahi@ruby-lang.org> * examples/c_rehash.rb: Run as a manager of cert store directory. + * examples/gen_ca_cert.rb: Pass DN as a command line parameter. Fri, 04 Jul 2003 23:51:52 +0900 -- NAKAMURA, Hiroshi <nahi@ruby-lang.org> * examples/cert_store.rb: Renamed to cert_store_view.rb. diff --git a/examples/gen_ca_cert.rb b/examples/gen_ca_cert.rb index 02a0417..2e3063c 100755 --- a/examples/gen_ca_cert.rb +++ b/examples/gen_ca_cert.rb @@ -19,6 +19,17 @@ passwd_cb = Proc.new{|flag| pass } +def usage + myname = File::basename($0) + $stderr.puts <<EOS +Usage: #{myname} name + name ... ex. /C=JP/O=RRR/OU=CA/CN=NaHi/emailAddress=nahi@example.org +EOS + exit +end + +name_str = ARGV.shift or usage + $stdout.sync = true print "Generating CA key: " @@ -26,7 +37,7 @@ key = PKey::RSA.new(2048){ putc "." } putc "\n" cert = X509::Certificate.new -name = [['C','CZ'],['O','Ruby'],['CN','RubyCA']] +name = name_str.scan(/\/([^\/]+)/).collect { |i| i[0].split("=") } cert.subject = cert.issuer = X509::Name.new(name) cert.not_before = Time.now cert.not_after = Time.now + 2 * 365 * 24 * 60 * 60 @@ -34,7 +45,7 @@ cert.public_key = key cert.serial = 0 cert.version = 2 # X509v3 -key_usage = [ "cRLSign", "keyCertSign" ] +key_usage = ["cRLSign", "keyCertSign"] ext = [] ef = X509::ExtensionFactory.new ef.subject_certificate = cert |