コード例 #1
0
        public void HeaderFromParsed_Returns_Same_Sequence()
        {
            var headerBase64 = "o0NhbGdlRVMyNTZDa2lkQjE4Q2lpZEEx";
            var headerBytes = Convert.FromBase64String(headerBase64);
            var header = new IssuerSignatureHeader(headerBytes);

            var result = Convert.ToBase64String(header.GetBytes());

            Assert.That(result, Is.EqualTo(headerBase64));
        }
コード例 #2
0
        public void SetUp()
        {
            keyRepo = new TestKeyRepository();
            service = new SignatureService(keyRepo);

            // Create a bundle
            var signatureHeader = new IssuerSignatureHeader(header);
            var ticketBundle = new TicketBundle(payload);

            issuerSignedTicketBundle = new IssuerSignedTicketBundle(ticketBundle);
            issuerSignedTicketBundle.Header = signatureHeader;
            issuerSignedTicketBundle.Signature = signature;
        }
コード例 #3
0
        private void Parse(byte[] bytes)
        {
            CBORObject cborObject;
            try
            {
                cborObject = CBORObject.DecodeFromBytes(bytes);
            }
            catch
            {
                throw new ArgumentException("Could not parse IssuerSignedTicketBundle. Byte array could not be decoded to CBOR Object");
            }

            if (cborObject.Type == CBORType.Array)
            {
                var byteStringList = cborObject.ConvertToList();
                if (byteStringList.Count != 3)
                    throw new ArgumentException($"Could not parse IssuerSignedTicketBundle. Unexpected length of array: {byteStringList.Count}, expected 3.");

                Header = new IssuerSignatureHeader(byteStringList.ElementAt(0).GetByteString());
                TicketBundle = new TicketBundle(byteStringList.ElementAt(1).GetByteString());
                Signature = byteStringList.ElementAt(2).GetByteString();
            }
        }