class OpenSSL::PKey::DSA

def ssh_do_verify(sig, data)

Verifies the given signature matches the given data.
def ssh_do_verify(sig, data)
  sig_r = sig[0,20].unpack("H*")[0].to_i(16)
  sig_s = sig[20,20].unpack("H*")[0].to_i(16)
  a1sig = OpenSSL::ASN1::Sequence([
     OpenSSL::ASN1::Integer(sig_r),
     OpenSSL::ASN1::Integer(sig_s)
  ])
  return verify(OpenSSL::Digest::DSS1.new, a1sig.to_der, data)
end