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

SignProcessIDVærdi returneret af en NewSignProcessFrom*-funktion
CertificateDERKomplet DER-kodet RSA- eller ECDSA X.509-certifikat, der svarer til den private nøgle
ProviderNameNavn på Windows-nøglelagerudbyderen eller en tom streng for Microsoft Software Key Storage Provider
KeyNameVedvarende nøglenavn, som udbyderen forstår
UseMachineKeySand eller forskellig fra nul for at åbne nøglen fra maskinomfanget
AllowUITrue eller forskellig fra nul for at tillade brugergrænseflader til PIN, samtykke eller cloudgodkendelse fra udbyderen

Returværdier

1Identitetskonfigurationen blev knyttet til processen
0Proces-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