Ejemplo n.º 1
0
        public static void BitString(byte[] value, byte[] expected)
        {
            var reader = new Asn1Reader(value);

            Assert.Equal(expected, reader.BitString().ToArray());
            Assert.True(reader.SuccessComplete);
        }
Ejemplo n.º 2
0
        public static void BitStringInvalid(byte[] value)
        {
            var reader = new Asn1Reader(value);

            Assert.Equal(Array.Empty <byte>(), reader.BitString().ToArray());
            Assert.False(reader.Success);
            Assert.False(reader.SuccessComplete);
        }
Ejemplo n.º 3
0
        public static void BitStringInvalid(byte[] value)
        {
            var span   = new ReadOnlySpan <byte>(value);
            var reader = new Asn1Reader(ref span);

            Assert.Equal(new byte[0], reader.BitString().ToArray());
            Assert.False(reader.Success);
            Assert.False(reader.SuccessComplete);
        }
Ejemplo n.º 4
0
        public static void PkixPublicKey()
        {
            var a = KeyAgreementAlgorithm.X25519;
            var b = Utilities.RandomBytes.Slice(0, a.PrivateKeySize);

            using var k = Key.Import(a, b, KeyBlobFormat.RawPrivateKey);
            var publicKeyBytes = k.Export(KeyBlobFormat.RawPublicKey);
            var blob           = k.Export(KeyBlobFormat.PkixPublicKey);

            var reader = new Asn1Reader(blob);

            reader.BeginSequence();
            reader.BeginSequence();
            Assert.Equal(s_oid, reader.ObjectIdentifier().ToArray());
            reader.End();
            Assert.Equal(publicKeyBytes, reader.BitString().ToArray());
            reader.End();
            Assert.True(reader.SuccessComplete);
        }