SetSignProcessCNGKey

보안 및 서명

설명

이름이 지정된 NCrypt 개인 키와 DER로 인코딩된 해당 X.509 인증서를 PDF 서명 프로세스에 연결합니다

요청한 키 저장소 공급자에서 키를 직접 열어 개인 키를 내보내지 않고 TPM 지원, 하드웨어 토큰, 클라우드 KSP 및 기타 CNG 전용 서명 ID를 사용할 수 있습니다

구문

Delphi

Function TPDFlib.SetSignProcessCNGKey(SignProcessID: Integer; Const CertificateDER: AnsiString; Const ProviderName, KeyName: WideString; UseMachineKey, AllowUI: Boolean): Integer;

ActiveX

Function PDFlib::SetSignProcessCNGKey(SignProcessID As Long, CertificateDER As Variant, ProviderName As String, KeyName As String, UseMachineKey As Long, AllowUI As Long) As Long

DLL

int DLSetSignProcessCNGKey(int InstanceID, int SignProcessID, const char* CertificateDER, int CertificateLength, const wchar_t* ProviderName, const wchar_t* KeyName, int UseMachineKey, int AllowUI);

매개변수

SignProcessIDNewSignProcessFrom* 함수가 반환한 값
CertificateDER개인 키에 해당하는 완전한 DER 인코딩 RSA 또는 ECDSA X.509 인증서
ProviderNameWindows 키 저장소 공급자 이름이며 Microsoft Software Key Storage Provider에는 빈 문자열
KeyName공급자가 인식하는 영구 키 이름
UseMachineKey컴퓨터 범위에서 키를 열려면 True 또는 0이 아닌 값
AllowUI공급자의 PIN, 동의 또는 클라우드 승인 사용자 인터페이스를 허용하려면 True 또는 0이 아닌 값

반환 값

1ID 구성을 프로세스에 연결했습니다
0프로세스 ID, 인증서 또는 키 이름이 유효하지 않습니다

비고

서명 프로세스가 실행될 때 키가 열리며 개인 키 바이트는 라이브러리 메모리에 들어오지 않습니다

AllowUI가 false이면 키 열기와 서명에 NCRYPT_SILENT_FLAG가 적용됩니다

생성된 CMS 서명은 허용 전에 CertificateDER로 검증하므로 알고리즘이 같아도 키가 일치하지 않으면 거부합니다

ActiveX는 바이트 배열 variant를 허용하고 DLL은 명시적 인증서 길이를 사용하므로 포함된 0 바이트가 유지됩니다

참고 항목

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI