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); }