| File: Dcp\DcpApiServerCertificateFixture.cs | Web Access |
| Project: src\tests\Aspire.Hosting.Tests\Aspire.Hosting.Tests.csproj (Aspire.Hosting.Tests) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Security.Cryptography; using System.Security.Cryptography.X509Certificates; namespace Aspire.Hosting.Tests.Dcp; public sealed class DcpApiServerCertificateFixture : IDisposable { internal X509Certificate2 Certificate { get; } = CreateCertificate(); public void Dispose() { Certificate.Dispose(); } private static X509Certificate2 CreateCertificate() { using var rsa = RSA.Create(2048); var request = new CertificateRequest("CN=localhost", rsa, HashAlgorithmName.SHA256, RSASignaturePadding.Pkcs1); using var certificate = request.CreateSelfSigned(DateTimeOffset.UtcNow.AddDays(-1), DateTimeOffset.UtcNow.AddDays(1)); // Schannel requires an imported key rather than the ephemeral key from CreateSelfSigned. return X509CertificateLoader.LoadPkcs12(certificate.Export(X509ContentType.Pfx), password: null); } }