2013-10-02 9 views
0

응용 프로그램을 설치하는 동안 자체 서명 인증서가 생성됩니다. Crypt API를 사용하여 인증서를 생성하고 저장소에 삽입합니다.자체 서명 인증서 생성으로 매장에 중복 기록이 생성됩니다.

문제는 응용 프로그램을 다시 설치할 때 우리 인증서의 중복을 생성한다는 것입니다. 그리고 이것은 단지 인증서 저장소에서 엉망이됩니다.

인증서가 이미 있는지 확인할 수 있습니까? 또는 기존 인증서를 덮어 쓸 수있는 옵션을 사용할 수 있습니까? 당신의 인증서가 이미 존재하는 경우

hStore = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, NULL, CERT_STORE_OPEN_EXISTING_FLAG | CERT_SYSTEM_STORE_CURRENT_USER, L"My"); 
if (!hStore) { 
    return 0; 
} 
CertAddCertificateContextToStore(hStore, pCertificate, CERT_STORE_ADD_REPLACE_EXISTING, 0) 

답변

0

나는 우리가 파일에 인증서를 쓰고 싶었다 우리가 실제로 모든 상점에 삽입하지 않는 훨씬 더 좋았다 것을 깨달았다 : 여기에 상당히 깊이있는 샘플이 있습니다

.

이제 임시 저장소에 인증서를 생성하고 있습니다.

hStore = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, NULL, 0, NULL); 
if (!hStore) { 
    return 0; 
}