lib/r509.rb in r509-0.8.1 vs lib/r509.rb in r509-0.9
- old
+ new
@@ -1,22 +1,38 @@
# A module for building an easy to use CA. Includes CSR, Certificate, and CRL support.
module R509
- require('r509/certificateauthority.rb')
- require('r509/csr.rb')
- require('r509/spki.rb')
- require('r509/cert.rb')
- require('r509/crl.rb')
- require('r509/oidmapper.rb')
- require('r509/ocsp.rb')
- require('r509/config.rb')
- require('r509/privatekey.rb')
- require('r509/messagedigest.rb')
- require('r509/subject.rb')
- require('r509/validity.rb')
+ require('r509/certificate_authority.rb')
+ require('r509/csr.rb')
+ require('r509/spki.rb')
+ require('r509/cert.rb')
+ require('r509/crl.rb')
+ require('r509/oid_mapper.rb')
+ require('r509/ocsp.rb')
+ require('r509/config.rb')
+ require('r509/private_key.rb')
+ require('r509/message_digest.rb')
+ require('r509/subject.rb')
+ require('r509/validity.rb')
+ require('r509/ec-hack.rb')
+ require('r509/asn1.rb')
+ require('r509/version.rb')
+
+ # print version information to console
+ def self.print_debug
+ puts "r509 v#{R509::VERSION}"
+ puts OpenSSL::OPENSSL_VERSION
+ puts "Ruby #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
+ puts "Elliptic curve support: #{self.ec_supported?}"
+ end
+
+ def self.ec_supported?
+ (not defined?(OpenSSL::PKey::EC::UNSUPPORTED))
+ end
end
#add some global mappings we want available throughout r509
-R509::OidMapper.batch_register([
- { :oid => "2.5.4.15", :short_name => "businessCategory" },
- { :oid => "1.3.6.1.4.1.311.60.2.1.2", :short_name => "jurisdictionOfIncorporationStateOrProvinceName" },
- { :oid => "1.3.6.1.4.1.311.60.2.1.3", :short_name => "jurisdictionOfIncorporationCountryName" }
+R509::OIDMapper.batch_register([
+ { :oid => "2.5.4.15", :short_name => "businessCategory" }, # extended validation related
+ { :oid => "1.3.6.1.4.1.311.60.2.1.2", :short_name => "jurisdictionOfIncorporationStateOrProvinceName" }, # extended validation related
+ { :oid => "1.3.6.1.4.1.311.60.2.1.3", :short_name => "jurisdictionOfIncorporationCountryName" }, # extended validation related
+ { :oid => "2.5.29.37.0", :short_name => "anyExtendedKeyUsage", :long_name => "Any Extended Key Usage" } # an EKU older OpenSSL frequently lacks
])