Beispiel #1
0
        public void TestAddressFromBytes()
        {
            var  s   = new cipher_SecKey();
            var  p   = new cipher_PubKey();
            uint err = SKY_cipher_GenerateKeyPair(p, s);

            Assert.AreEqual(err, SKY_OK);
            var a  = new cipher__Address();
            var a2 = new cipher__Address();

            err = SKY_cipher_AddressFromPubKey(p, a);
            Assert.AreEqual(err, SKY_OK);
            var b  = new GoSlice();
            var b2 = new GoSlice();

            err = SKY_cipher_Address_Bytes(a, b);
            err = SKY_cipher_Address_Bytes(a, b2);
            Assert.AreEqual(err, SKY_OK);
            err = SKY_cipher_AddressFromBytes(b2, a2);
            Assert.AreEqual(err, SKY_OK);
            Assert.AreEqual(a2.isEqual(a), 1);
            // Invalid number of bytes
            long len_b = b.len;

            b.len = b.len - 2;
            err   = SKY_cipher_AddressFromBytes(b, a2);
            Assert.AreEqual(SKY_ErrAddressInvalidLength, err, "Failed SKY_cipher_AddressFromBytes 2");
            b.len = len_b;
            a.setVersion('2');
            err = SKY_cipher_Address_Bytes(a, b);
            Assert.AreEqual(err, SKY_OK, "SKY_cipher_Address_Bytes SKY_ErrAddressInvalidVersion");
            err = SKY_cipher_AddressFromBytes(b, a);
            Assert.AreEqual(SKY_ErrAddressInvalidVersion, err);
        }
Beispiel #2
0
        public void TestAddressVerify()
        {
            var p   = new cipher_PubKey();
            var s   = new cipher_SecKey();
            var err = SKY_cipher_GenerateKeyPair(p, s);

            Assert.AreEqual(err, SKY_OK);
            var a = new cipher__Address();

            err = SKY_cipher_AddressFromPubKey(p, a);
            Assert.AreEqual(err, SKY_OK);
            // Valid pubkey+address
            err = SKY_cipher_Address_Verify(a, p);
            Assert.AreEqual(err, SKY_OK);
            // Invalid pubkey
            err = SKY_cipher_Address_Verify(a, new cipher_PubKey());
            Assert.AreEqual(err, SKY_ErrAddressInvalidPubKey);
            var p2 = new cipher_PubKey();
            var s2 = new cipher_SecKey();

            err = SKY_cipher_GenerateKeyPair(p2, s2);
            Assert.AreEqual(err, SKY_OK);
            err = SKY_cipher_Address_Verify(a, p2);
            Assert.AreEqual(err, SKY_ErrAddressInvalidPubKey);
            // Bad version
            a.setVersion('1');
            err = SKY_cipher_Address_Verify(a, p);
            Assert.AreEqual(err, SKY_ErrAddressInvalidVersion);
        }