ssh_do_sign (OpenSSL::PKey::DSA)

         # File lib/net/ssh/transport/openssl.rb, line 108
    108:       def ssh_do_sign(data)
    109:         sig = sign( OpenSSL::Digest::DSS1.new, data)
    110:         a1sig = OpenSSL::ASN1.decode( sig )
    111:
    112:         sig_r = a1sig.value[0].value.to_s(2)
    113:         sig_s = a1sig.value[1].value.to_s(2)
    114:
    115:         if sig_r.length > 20 || sig_s.length > 20
    116:           raise OpenSSL::PKey::DSAError, "bad sig size"
    117:         end
    118:
    119:         sig_r = "\0" * ( 20 - sig_r.length ) + sig_r if sig_r.length < 20
    120:         sig_s = "\0" * ( 20 - sig_s.length ) + sig_s if sig_s.length < 20
    121:
    122:         return sig_r + sig_s
    123:       end