diff options
author | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-01-29 06:49:11 +0000 |
---|---|---|
committer | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-01-29 06:49:11 +0000 |
commit | d097999e44e3f8016a490aa7f231685654060be4 (patch) | |
tree | 74fd91ad5e65b85f3666f07681d4f7025a541ea9 /ext/openssl/lib/openssl/x509.rb | |
parent | cc002887e3a40446ce42f6e4082361a1d09ec1fb (diff) |
backport from Ruby-1.9.
* ext/openssl/ossl_x509hame.c (ossl_x509name_initialize): change
second argument. it expected to be a Hash not an Integer.
* ext/openssl/ossl_x509name.c (ossl_x509name_add_entry): add new
function for OpenSSL::X509::Name#add_entry.
* ext/openssl/ossl_x509name.c (ossl_x509name_to_a): append ASN.1
tag number to each element of return value.
* ext/openssl/ossl_x509name.c (Init_ossl_x509name): add constants
OpenSSL::X509::Name::DEFAULT_OBJECT_TYPE and OBJECT_TYPE_TEMPLATE.
* ext/openssl/lib/openssl/x509.rb (OpenSSL::X509::Name#initialize):
second argument takes OBJECT_TYPE_TEMPLATE by default.
* sample/openssl/gen_csr.rb: use OpenSSL::X509::Name.parse.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@5575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/openssl/lib/openssl/x509.rb')
-rw-r--r-- | ext/openssl/lib/openssl/x509.rb | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/ext/openssl/lib/openssl/x509.rb b/ext/openssl/lib/openssl/x509.rb index 40b1a6dd15..6dd469827a 100644 --- a/ext/openssl/lib/openssl/x509.rb +++ b/ext/openssl/lib/openssl/x509.rb @@ -14,9 +14,7 @@ $Id$ =end -## -# Should we care what if somebody require this file directly? -#require 'openssl' +require "openssl" module OpenSSL module X509 @@ -44,7 +42,7 @@ module OpenSSL def create_ext_from_hash(hash) create_ext(hash["oid"], hash["value"], hash["critical"]) end - end # ExtensionFactory + end class Extension def to_s # "oid = critical, value" @@ -61,14 +59,13 @@ module OpenSSL def to_a [ self.oid, self.value, self.critical? ] end - end # Extension - + end + class Name - def self.parse(str, type=ASN1::UTF8STRING) - ary = str.scan(/\s*([^\/,]+)\s*/).collect{|i| i[0].split("=") } - self.new(ary, type) + def self.parse(str, template=OBJECT_TYPE_TEMPLATE) + ary = str.scan(/\s*([^\/,]+)\s*/).collect{|i| i[0].split("=", 2) } + self.new(ary, template) end - end # Name - - end # X509 -end # OpenSSL + end + end +end |