Share via


Fout 'PKCS12 (PFX) zonder opgegeven wachtwoord heeft het maximum aantal toegestane iteraties overschreden' in fiscale integratie

Dit artikel biedt een oplossing voor een fout die optreedt in een fiscaal integratieproces in Microsoft Dynamics 365 Commerce.

Symptomen

Wanneer u in een fiscaal registratieproces een fiscaal document probeert in te dienen, ontvangt u het volgende foutbericht:

PKCS12 (PFX) zonder een opgegeven wachtwoord heeft het maximum aantal toegestane iteraties overschreden. Zie https://go.microsoft.com/fwlink/?linkid=2233907 (Wordt geopend in nieuw venster of tabblad) voor meer informatie.

Oplossing

Voorwaarden

Voordat u het probleem verkent, moet u weten welk type certificaten wordt ondersteund in uw scenario.

  • Als POS wordt uitgevoerd in de offlinemodus, worden alleen lokale certificaten ondersteund.
  • Voor Commerce Scale Unit (CSU) (cloud) worden alleen certificaten van Azure Key Vault ondersteund.
  • Voor zelf-hostende CSU worden certificaten van zowel Azure Key Vault als lokale opslag ondersteund.

Een PFX-certificaat exporteren zonder wachtwoord

Als certificaten van Azure Key Vault worden gebruikt voor digitale ondertekening, moeten de certificaten die zijn geĆ¼pload naar Azure Key Vault de persoonlijke sleutel bevatten en geen wachtwoord hebben.

Als u het certificaat exporteert met de wizard Certificaat exporteren, moet een PFX-certificaatindeling (Personal Information Exchange) worden geselecteerd en wordt u gevraagd een wachtwoord in te voeren. Certificaten met wachtwoorden worden echter niet ondersteund voor digitale aanmelding in Microsoft Dynamics 365 Commerce. Voer het volgende script uit om het wachtwoord uit een PFX-certificaat te verwijderen:

$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)

Meer informatie