Example #1
0
        public byte[] Encode()
        {
            var sequence = new ASN1Sequence
            {
                Elements = new List <IASN1Object>
                {
                    new ASN1Integer(this.Version),
                    new ASN1OctetString(this.ServerNonce),
                    new ASN1OctetString(this.ClientNonce),
                    new ASN1OctetString(this.RecordT0),
                    new ASN1OctetString(this.RecordT1)
                }
            };

            return(sequence.Encode());
        }
        public void Should_EncodeToAsn1_When_TwoByteArraysArePassed()
        {
            var resultBase64 = "MEQEIF9FaIoBlwvyV1HuIYw1cEL0GF6TyjJqYpO/b/uzsg88BCB0Cx2dnG8QKFyHr/nTOjQr7qeWgrM7T9CAg0D8p+EvVQ==";

            var arr1 = Bytes.FromString("5F45688A01970BF25751EE218C357042F4185E93CA326A6293BF6FFBB3B20F3C", StringEncoding.HEX);
            var arr2 = Bytes.FromString("740B1D9D9C6F10285C87AFF9D33A342BEEA79682B33B4FD0808340FCA7E12F55", StringEncoding.HEX);

            var sequence = new ASN1Sequence
            {
                Elements = new List <IASN1Object>
                {
                    new ASN1OctetString(arr1),
                    new ASN1OctetString(arr2),
                },
            };

            var encodedBytes  = sequence.Encode();
            var encodedBase64 = Bytes.ToString(encodedBytes, StringEncoding.BASE64);

            var decoded = ASN1Sequence.Decode(encodedBytes);

            Assert.Equal(resultBase64, encodedBase64);
        }