Поделиться через


"PKCS12 (PFX) без предоставленного пароля превысило максимально допустимое количество итераций" ошибки в фискальной интеграции

В этой статье представлено решение для ошибки, возникающей в процессе интеграции с бюджетом в Microsoft Dynamics 365 Commerce.

Симптомы

При попытке отправить финансовый документ при попытке отправить финансовый документ вы получите следующее сообщение об ошибке:

PKCS12 (PFX) без предоставленного пароля превысил максимально допустимые итерации. Дополнительные сведения см. в разделе https://go.microsoft.com/fwlink/?linkid=2233907 (Открывается в новом окне или вкладке).

Решение

Предварительные требования

Прежде чем изучить проблему, следует знать, какой тип сертификатов поддерживается в вашем сценарии.

Экспорт сертификата PFX без пароля

Если сертификаты из Azure Key Vault используются для цифровой подписи, сертификаты, отправленные в Azure Key Vault, должны содержать закрытый ключ и не иметь пароля.

При экспорте сертификата с помощью мастера экспорта сертификатов необходимо выбрать формат сертификата обмена персональными данными (PFX), и вам будет предложено ввести пароль. Однако сертификаты с паролями не поддерживаются для цифрового входа в Microsoft Dynamics 365 Commerce. Выполните следующий скрипт, чтобы удалить пароль из сертификата PFX:

$pfxFilePath = '<Localpath of the pfx certificate>'
$pwd = '<Password of the pfx certificate>'
$collection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection
$collection.Import($pfxFilePath, $pwd, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)
$pkcs12ContentType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12
$certBytes = $collection.Export($pkcs12ContentType)
[System.IO.File]::WriteAllBytes($pfxFilePath, $certBytes)

Дополнительная информация