Ejemplo n.º 1
0
        public void TestFormatSignature()
        {
            var random  = new Random();
            var dsa_key = new SshKey(SshVersion.SSH2, new DsaPublicKeyParameters(
                                         new BigInteger("1"),
                                         new DsaParameters(new BigInteger("2"), new BigInteger("3"),
                                                           new BigInteger("4"))));

            // test that dsa signature works when values are not full 20 bytes.
            byte[] r_bytes = new byte[19];
            byte[] s_bytes = new byte[19];
            random.NextBytes(r_bytes);
            random.NextBytes(s_bytes);
            var r         = new DerInteger(r_bytes);
            var s         = new DerInteger(s_bytes);
            var sequence  = new DerSequence(r, s);
            var signature = dsa_key.FormatSignature(sequence.GetEncoded());

            Assert.That(signature.Count(), Is.EqualTo(40));
        }