회계 통합의 "PKCS12(PFX)에서 제공된 암호가 없는 최대 허용 반복을 초과했습니다." 오류
이 문서에서는 Microsoft Dynamics 365 Commerce의 회계 통합 프로세스에서 발생하는 오류에 대한 솔루션을 제공합니다.
증상
회계 등록 프로세스에서 회계 문서를 제출하려고 하면 다음과 같은 오류 메시지가 표시됩니다.
제공된 암호가 없는 PKCS12(PFX)가 허용되는 최대 반복을 초과했습니다. 자세한 내용은 (새 창 또는 탭에서 열기)를 참조하세요 https://go.microsoft.com/fwlink/?linkid=2233907 .
해결
필수 조건
문제를 살펴보기 전에 시나리오에서 지원되는 인증서 유형을 알아야 합니다.
- POS가 오프라인 모드에서 실행되는 경우 로컬 인증서만 지원됩니다.
- CSU(상거래 규모 단위)(클라우드)의 경우 Azure Key Vault의 인증서만 지원됩니다.
- 자체 호스팅 CSU의 경우 Azure Key Vault 및 로컬 스토리지의 인증서가 모두 지원됩니다.
암호 없이 PFX 인증서 내보내기
Azure Key Vault의 인증서가 디지털 서명에 사용되는 경우 Azure Key Vault에 업로드된 인증서는 프라이빗 키를 포함해야 하며 암호가 없어야 합니다.
인증서 내보내기 마법사 를 사용하여 인증서를 내보내는 경우 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)