コード例 #1
0
        public void ShouldParseExtraDataBytes()
        {
            string base64ExtraData = TestData.TestActivityDetails.ExtraData;

            byte[] extraDataBytes = Conversion.Base64ToBytes(base64ExtraData);

            ExtraData result = ExtraDataConverter.ParseExtraDataProto(extraDataBytes);

            string   expectedDateTime      = "2019-10-15T22:04:05.123Z";
            DateTime nonNullableExpiryDate = (DateTime)result.AttributeIssuanceDetails.ExpiryDate;

            string actualDateTime = nonNullableExpiryDate.ToString(Format.RFC3339PatternMilli, DateTimeFormatInfo.InvariantInfo);

            Assert.AreEqual(expectedDateTime, actualDateTime);
            Assert.AreEqual("c29tZUlzc3VhbmNlVG9rZW4=", result.AttributeIssuanceDetails.Token);
            Assert.AreEqual(2, result.AttributeIssuanceDetails.IssuingAttributes.Count);
            Assert.AreEqual("com.thirdparty.id", result.AttributeIssuanceDetails.IssuingAttributes[0].Name);
            Assert.AreEqual("com.thirdparty.other_id", result.AttributeIssuanceDetails.IssuingAttributes[1].Name);
        }
コード例 #2
0
        internal static ExtraData DecryptExtraData(string wrappedReceiptKey, string extraDataContent, AsymmetricCipherKeyPair keyPair)
        {
            byte[] decipheredBytes = DecipherContent(wrappedReceiptKey, extraDataContent, keyPair);

            return(ExtraDataConverter.ParseExtraDataProto(decipheredBytes));
        }