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.
- Si POS se ejecuta en modo sin conexión, solo se admiten certificados locales.
- En el caso de la unidad de escalado comercial (CSU) (nube), solo se admiten certificados de Azure Key Vault.
- En el caso de la CSU autohospedada, se admiten certificados de Azure Key Vault y almacenamiento local.
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de