Exemplo n.º 1
0
        private AttestationClient GetAttestationClient()
        {
            string endpoint = TestEnvironment.SharedUkSouth;

            #region Snippet:CreateAttestationClient
            var options = new AttestationClientOptions();
            return(new AttestationClient(new Uri(endpoint), new DefaultAzureCredential(), options));

            #endregion
        }
Exemplo n.º 2
0
        private AttestationClient GetAttestationClient()
        {
            string endpoint = TestEnvironment.SharedUkSouth;

            /*TokenCredential credential = TestEnvironment.Credential;*/

            var options = new AttestationClientOptions();

//            string powerShellClientId = "1950a258-227b-4e31-a9cf-717495945fc2";
            return(new AttestationClient(new Uri(endpoint), new DefaultAzureCredential(), options));
        }
        private AttestationClient GetAttestationClient()
        {
            String regionShortName = TestEnvironment.LocationShortName;

            string endpoint = "https://shared" + regionShortName + "." + regionShortName + ".test.attest.azure.net";

            #region Snippet:CreateAttestationClient
            var options = new AttestationClientOptions();
            return(new AttestationClient(new Uri(endpoint), new DefaultAzureCredential(), options));

            #endregion
        }
        public async Task RunAsync()
        {
            // Fetch file
            var enclaveInfo = await EnclaveInfo.CreateFromFileAsync(this.fileName);

            // Send to service for attestation

            string endpoint = "https://" + this.attestDnsName;

            // Send to service for attestation
            var options = new AttestationClientOptions(tokenOptions: new AttestationTokenValidationOptions
            {
                ExpectedIssuer = endpoint,
                ValidateIssuer = true,
            }
                                                       );

            options.TokenOptions.TokenValidated += (args) =>
            {
                // Analyze results
                Logger.WriteBanner("IN VALIDATION CALLBACK, VALIDATING MAA JWT TOKEN - BASICS");
                JwtValidationHelper.ValidateMaaJwt(attestDnsName, args.Token, args.Signer, this.includeDetails);
                args.IsValid = true;
                return(Task.CompletedTask);
            };

            var maaService = new AttestationClient(new Uri(endpoint), new DefaultAzureCredential(), options);

            BinaryData openEnclaveReport = BinaryData.FromBytes(HexHelper.ConvertHexToByteArray(enclaveInfo.QuoteHex));

            BinaryData runtimeData = BinaryData.FromBytes(HexHelper.ConvertHexToByteArray(enclaveInfo.EnclaveHeldDataHex));

            var serviceResponse = await maaService.AttestOpenEnclaveAsync(
                new AttestationRequest
            {
                Evidence    = openEnclaveReport,
                RuntimeData = new AttestationData(runtimeData, false),
            });

            var serviceJwtToken = serviceResponse.Token.ToString();



            Logger.WriteBanner("VALIDATING MAA JWT TOKEN - MATCHES CLIENT ENCLAVE INFO");
            enclaveInfo.CompareToMaaServiceJwtToken(serviceResponse.Value, this.includeDetails);
        }