SetSignProcessCNGKey
Sikkerhed og signaturer
Beskrivelse
Knytter en navngiven privat NCrypt-nøgle og dens DER-kodede X.509-certifikat til en PDF-signeringsproces
Nøglen åbnes direkte fra den ønskede nøglelagerudbyder, hvilket muliggør TPM-baserede, hardwaretoken-, cloud-KSP- og andre CNG-eksklusive signeringsidentiteter uden eksport af den private nøgle
Syntaks
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);
Parametre
| SignProcessID | Værdi returneret af en NewSignProcessFrom*-funktion |
|---|---|
| CertificateDER | Komplet DER-kodet RSA- eller ECDSA X.509-certifikat, der svarer til den private nøgle |
| ProviderName | Navn på Windows-nøglelagerudbyderen eller en tom streng for Microsoft Software Key Storage Provider |
| KeyName | Vedvarende nøglenavn, som udbyderen forstår |
| UseMachineKey | Sand eller forskellig fra nul for at åbne nøglen fra maskinomfanget |
| AllowUI | True eller forskellig fra nul for at tillade brugergrænseflader til PIN, samtykke eller cloudgodkendelse fra udbyderen |
Returværdier
| 1 | Identitetskonfigurationen blev knyttet til processen |
|---|---|
| 0 | Proces-id'et, certifikatet eller nøglenavnet var ugyldigt |
Bemærkninger
Nøglen åbnes, når signeringsprocessen udføres, og ingen bytes fra den private nøgle indlæses i bibliotekets hukommelse
Når AllowUI er false, anvendes NCRYPT_SILENT_FLAG ved åbning af nøglen og signering
Den genererede CMS-signatur verificeres mod CertificateDER, før den accepteres, så en uoverensstemmende nøgle med samme algoritme afvises
ActiveX accepterer en bytearrayvariant, og DLL'en bruger en udtrykkelig certifikatlængde, så integrerede nulbyte bevares
Se også
SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI