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);
매개변수
| SignProcessID | NewSignProcessFrom* 함수가 반환한 값 |
|---|---|
| CertificateDER | 개인 키에 해당하는 완전한 DER 인코딩 RSA 또는 ECDSA X.509 인증서 |
| ProviderName | Windows 키 저장소 공급자 이름이며 Microsoft Software Key Storage Provider에는 빈 문자열 |
| KeyName | 공급자가 인식하는 영구 키 이름 |
| UseMachineKey | 컴퓨터 범위에서 키를 열려면 True 또는 0이 아닌 값 |
| AllowUI | 공급자의 PIN, 동의 또는 클라우드 승인 사용자 인터페이스를 허용하려면 True 또는 0이 아닌 값 |
반환 값
| 1 | ID 구성을 프로세스에 연결했습니다 |
|---|---|
| 0 | 프로세스 ID, 인증서 또는 키 이름이 유효하지 않습니다 |
비고
서명 프로세스가 실행될 때 키가 열리며 개인 키 바이트는 라이브러리 메모리에 들어오지 않습니다
AllowUI가 false이면 키 열기와 서명에 NCRYPT_SILENT_FLAG가 적용됩니다
생성된 CMS 서명은 허용 전에 CertificateDER로 검증하므로 알고리즘이 같아도 키가 일치하지 않으면 거부합니다
ActiveX는 바이트 배열 variant를 허용하고 DLL은 명시적 인증서 길이를 사용하므로 포함된 0 바이트가 유지됩니다
참고 항목
SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI