"Ошибка:23076071: процедуры PKCS12:PKCS12_parse: сбой проверки mac" при создании самозаверяющего сертификата для Identity Server 4

Мы разрабатываем приложение для микросервисов в Kubernetes. Одним из микросервисов является экземпляр IdentityServer. Сначала я хочу протестировать решение локально на Docker, чтобы убедиться, что оно работает. Для этого я хочу скопировать сертификат в appsettings.json. В конце концов это значение будет заменено секретом Kubernetes. В моем стартапе я пытаюсь загрузить свой сертификат:

services.AddIdentityServer()
     .AddSigningCredential(GetIdentityServerCertificate())
     .AddConfigurationStore(...


    private X509Certificate2 GetIdentityServerCertificate()
    {
        var clientSecret = Configuration["Certificate"];
        var pfxBytes = Convert.FromBase64String(clientSecret);
        var certificate = new X509Certificate2(pfxBytes, "PasswordHere");
        return certificate;
    }

Сертификат сгенерирован мной с использованием openssl:

openssl req –newkey rsa:2048 –nodes –keyout XXXXX.key –x509 –days 365 –out XXXXX.cer

openssl pkcs12 –export –in XXXX.cer –inkey XXXX.key –out XXXX.pfx

Затем я получаю сертификат, используя:

$pfxFilePath = 'C:\XXXX.pfx'
$pwd = 'PasswordHere'
$flag = [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable
$collection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection
$collection.Import($pfxFilePath, $pwd, $flag)
$pkcs12ContentType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12
$clearBytes = $collection.Export($pkcs12ContentType)
$fileContentEncoded = [System.Convert]::ToBase64String($clearBytes)

Я хватаю $fileContentEncoded оценить и вставить его в appsettings.json,

Когда я отлаживаю его, результат: error:23076071:PKCS12 routines:PKCS12_parse:mac verify failure когда я пытаюсь создать X509Certificate2 объект, используя метод выше.

1 ответ

Ошибка проверки mac возникает, когда пароль неверный. Проверьте пароль для ключа с помощью

      openssl pkcs12 -in XXXX.pfx
Другие вопросы по тегам