Compartir a través de


"PKCS12 (PFX) sin una contraseña proporcionada ha superado el error máximo permitido de iteraciones" en la integración fiscal

En este artículo se proporciona una solución para un error que se produce en un proceso de integración fiscal en Microsoft Dynamics 365 Commerce.

Síntomas

En un proceso de registro fiscal, al intentar enviar un documento fiscal, recibirá el siguiente mensaje de error:

PKCS12 (PFX) sin una contraseña proporcionada ha superado las iteraciones máximas permitidas. Consulte https://go.microsoft.com/fwlink/?linkid=2233907 (Se abre en una nueva ventana o pestaña) para obtener más información.

Solución

Requisitos previos

Antes de explorar el problema, debe saber qué tipo de certificados se admite en su escenario.

Exportación de un certificado PFX sin contraseña

Si los certificados de Azure Key Vault se usan para la firma digital, los certificados cargados en Azure Key Vault deben contener la clave privada y no tener una contraseña.

Si exporta el certificado mediante el Asistente para exportar certificados, se debe seleccionar un formato de certificado de intercambio de información personal (PFX) y se le pedirá que escriba una contraseña. Sin embargo, no se admiten certificados con contraseñas para el inicio de sesión digital en Microsoft Dynamics 365 Commerce. Ejecute el siguiente script para quitar la contraseña de un certificado 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)

Más información