Compartir a través de


Error "PKCS12 (PFX) sin una contraseña proporcionada ha superado el 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 , cuando intenta enviar un documento fiscal, recibe el siguiente mensaje de error:

PKCS12 (PFX) sin una contraseña proporcionada ha superado el máximo permitido de iteraciones. Vea 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 admiten en el 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 exportación de 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, los certificados con contraseñas no se admiten 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