Delen via


Fout 'PKCS12 (PFX) zonder opgegeven wachtwoord heeft de maximale toegestane iteraties overschreden' in fiscale integratie

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

Symptomen

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

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

Oplossing

Voorwaarden

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

  • 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 zonder wachtwoord exporteren

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