2017-02-27 15 views
0

제 3 자 Cryptographic Service Provider (CSP) DLL을 개발 중이며 Microsoft Windows와 통합하려고합니다. 이 개발의 주된 목표는 Word와 같은 Office 도구에서 디지털 서명 및 서명 확인과 같은 암호화 기능을 호출하는 것입니다. 여기서는 다음 문제에 직면하고 있습니다.디지털 서명을 위해 Microsoft Word에서 제 3 자 암호화 서비스 공급자에게 전화하십시오.

1) CSP DLL을 개발하여 서명하고 레지스트리 항목에 등록했습니다. 이것은 cpacquirecontext 및 다른 crypto API를로드하여 테스트 응용 프로그램을 테스트 할 때 잘 작동합니다. 테스트 응용 프로그램에서 CSP 이름 "XYZ"를 제공하여 DLL을 올바르게 식별하고 이에 따라 함수를 호출하도록합니다.

2) 이제 우리는 디지털 서명 작업을 위해 마이크로 소프트 워드에서 CSP dll API를 호출하려고합니다. 이를 위해 기본 마이크로 소프트 csp를 우회하여 디지털 서명을위한 csp dll을 호출하기 위해 어떤 설정/구성을 수행해야합니까. 친절하게이 문제를 해결하는 데 도움이됩니다.

답변

1

Office 및 디지털 서명 작업을위한 다른 응용 프로그램에서 사용할 수있는 귀하의 CSP에 저장된 인증서를 만들기 위하여는, 당신은 CertAddEncodedCertificateToStore를 사용하여 Windows "MY" certificate store에서 이러한 인증서를 등록한 다음에 CertSetCertificateContextProperty를 사용하여 결과 CERT_CONTEXT의 CERT_KEY_PROV_INFO_PROP_ID 속성을 업데이트해야합니다 CSP 이름과 인증서 키가있는 컨테이너를 나타내는 순서.

이 메서드를 사용하여 주어진 CSP에 저장된 모든 인증서를 "MY"인증서 저장소에로드하는 작은 명령 줄 프로그램을 작성했습니다. 또한 "MY"인증서 저장소에서 인증서를 제거 할 수있는 기능을 제공하므로 인증서가 더 이상 필요 없거나 사용 가능하지 않은 경우에 유용합니다. https://www.idrix.fr/Root/Samples/LoadCertToStore.cpp에서 소스 코드를 얻을 수 있습니다.

도움이되기를 바랍니다.

+0

감사합니다. 나는 샘플을 시험해보고 당신에게 돌아갈 것이다. – Thirumal

0

나는 당신과 같은 상황입니다.
내 CSP는 테스트 응용 프로그램 및 2007 MS Office와 함께 잘 작동하지만 MS 오피스 2010 및 2013
작동하지있어이는 MS 오피스의 문제 :

는 오피스 2010은 윈도우 7에서 특정 인증서를 지원하지 않습니다 또는 Windows Vista 환경. 특히 이러한 지원되지 않는 인증서는 타사 Cryptographic Service Provider (CSP)가 저장하는 개인 키를 사용합니다. 따라서 CAPI (Cryptographic API)를 사용하여 Office 2010 문서에 서명 할 수 없습니다.

Office 2010 핫픽스 패키지 (Mso-x-none) here을 다운로드 할 수 있습니다.

MS Office 2013의 경우 서비스 팩 1이 필요합니다.

+0

Hii Thinh 도와 드릴 수 있습니까? https://stackoverflow.com/questions/48090891/implementing-custom-cryptographic-service-provider-csp-entry-point-in-dll-file –