class OpenSSL::PKey::DSA
See ruby-doc.org/stdlib/libdoc/openssl/rdoc/OpenSSL/PKey/DSA.html
Public Instance Methods
to_der_pkcs8()
click to toggle source
Returns DSA
(private) key in PKCS#8 DER format.
# File lib/openssl_pkcs8_pure.rb, line 15 def to_der_pkcs8 #if public, just use x509 default output return to_der if !private? asn1=OpenSSL::ASN1.decode(to_der).value OpenSSL::ASN1::Sequence([ OpenSSL::ASN1::Integer(0), OpenSSL::ASN1::Sequence([ OpenSSL::ASN1::ObjectId("DSA"), OpenSSL::ASN1::Sequence([asn1[1],asn1[2],asn1[3]]) ]), OpenSSL::ASN1::OctetString(asn1[5].to_der) ]).to_der end
to_pem_pkcs8()
click to toggle source
Returns DSA
(private) key in PKCS#8 PEM format.
# File lib/openssl_pkcs8_pure.rb, line 29 def to_pem_pkcs8 return to_pem if !private? body=RUBY_VERSION<'1.9' ? Base64.encode64(to_der_pkcs8) : Base64.strict_encode64(to_der_pkcs8).chars.each_slice(64).map(&:join).join("\n")+"\n" "-----BEGIN PRIVATE KEY-----\n"+body+"-----END PRIVATE KEY-----\n" end