From 7d1c38799c295aeb6b0a90e76d1e6f68fa39a4e7 Mon Sep 17 00:00:00 2001 From: gotoyuzo Date: Thu, 29 Jan 2004 06:49:11 +0000 Subject: 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: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@5575 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/openssl/lib/openssl/x509.rb | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'ext/openssl/lib') diff --git a/ext/openssl/lib/openssl/x509.rb b/ext/openssl/lib/openssl/x509.rb index 40b1a6dd1..6dd469827 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 -- cgit