Erreur « PKCS12 (PFX) sans mot de passe fourni a dépassé le nombre maximal d’itérations autorisées » dans l’intégration fiscale

Cet article fournit une solution pour une erreur qui se produit dans un processus d’intégration fiscale dans Microsoft Dynamics 365 Commerce.

Symptômes

Dans un processus d’inscription fiscale , lorsque vous essayez d’envoyer un document fiscal, vous recevez le message d’erreur suivant :

PKCS12 (PFX) sans mot de passe fourni a dépassé le nombre maximal d’itérations autorisées. Pour plus d’informations, consultez https://go.microsoft.com/fwlink/?linkid=2233907 (Ouvre dans une nouvelle fenêtre ou un nouvel onglet).

Résolution

Configuration requise

Avant d’explorer le problème, vous devez savoir quel type de certificats est pris en charge dans votre scénario.

Exporter un certificat PFX sans mot de passe

Si les certificats d’Azure Key Vault sont utilisés pour la signature numérique, les certificats chargés sur Azure Key Vault doivent contenir la clé privée et ne doivent pas avoir de mot de passe.

Si vous exportez le certificat à l’aide de l’Assistant Exportation de certificat, un format de certificat d’échange d’informations personnelles (PFX) doit être sélectionné et vous êtes invité à entrer un mot de passe. Toutefois, les certificats avec mots de passe ne sont pas pris en charge pour la connexion numérique Microsoft Dynamics 365 Commerce. Exécutez le script suivant pour supprimer le mot de passe d’un certificat 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)

Plus d’informations