共用方式為


會計整合中的「沒有提供密碼的 PKCS12 (PFX) 已超過允許的反覆運算上限」錯誤

本文提供 dynamics 365 Commerce 中會計整合 Microsoft程式中發生之錯誤的解決方案。

徵兆

在會計註冊程式中,當您嘗試提交會計檔時,您會收到下列錯誤訊息:

沒有提供密碼的 PKCS12 (PFX) 已超過允許的最大反覆專案。 如需詳細資訊,請參閱 https://go.microsoft.com/fwlink/?linkid=2233907 (在新視窗或索引標籤中開啟)。

解決方法

必要條件

在探索問題之前,您應該知道案例中支援哪種類型的憑證。

匯出不含密碼的 PFX 憑證

如果使用來自 Azure 金鑰保存庫 的憑證進行數位簽名,則上傳至 Azure 金鑰保存庫 的憑證應包含私鑰,且沒有密碼。

如果您使用 [憑證匯出精靈] 導出憑證, 應該選取個人資訊交換 (PFX) 憑證 格式,並提示您輸入密碼。 不過,Microsoft Dynamics 365 Commerce 中的數位簽名不支援具有密碼的憑證。 執行下列文稿以從 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)

其他相關資訊