public static void BitString(byte[] value, byte[] expected) { var reader = new Asn1Reader(value); Assert.Equal(expected, reader.BitString().ToArray()); Assert.True(reader.SuccessComplete); }
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); }
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); }
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); }