Module: ECDSA::Format::SignatureDerString

Defined in:
lib/ecdsa/format/signature_der_string.rb

Class Method Summary collapse

Class Method Details

.decode(der_string) ⇒ Object



7
8
9
10
11
12
# File 'lib/ecdsa/format/signature_der_string.rb', line 7

def self.decode(der_string)
  asn1 = OpenSSL::ASN1.decode(der_string)
  r = asn1.value[0].value.to_i
  s = asn1.value[1].value.to_i
  Signature.new(r, s)
end

.encode(signature) ⇒ Object



14
15
16
17
18
19
# File 'lib/ecdsa/format/signature_der_string.rb', line 14

def self.encode(signature)
  ra = OpenSSL::ASN1::Integer.new signature.r
  sa = OpenSSL::ASN1::Integer.new signature.s
  asn1 = OpenSSL::ASN1::Sequence.new [ra, sa]
  asn1.to_der
end