class CryptoGost::Signature

DigitalSignature

@author WildDima

Attributes

r[R]
s[R]

Public Class Methods

decode(sign) click to toggle source
# File lib/crypto_gost/signature.rb, line 11
def decode(sign)
  asn1 = OpenSSL::ASN1.decode(sign)
  r = asn1.value[0].value.to_i
  s = asn1.value[1].value.to_i
  new(r, s)
end
new(r:, s:) click to toggle source
# File lib/crypto_gost/signature.rb, line 19
def initialize(r:, s:)
  @r = r
  @s = s
end

Public Instance Methods

encode() click to toggle source
# File lib/crypto_gost/signature.rb, line 24
def encode
  asn1 = OpenSSL::ASN1::Sequence.new [
    OpenSSL::ASN1::Integer.new(r),
    OpenSSL::ASN1::Integer.new(s),
  ]
  asn1.to_der
end