SetSignProcessCNGKey

Varnost in podpisi

Opis

Podpisnemu procesu PDF pripne poimenovani zasebni ključ NCrypt in njegov certifikat X.509 v kodiranju DER

Ključ se odpre neposredno pri zahtevanem ponudniku shrambe ključev, kar omogoča identitete podpisovanja na osnovi TPM, strojnih žetonov, oblačnih KSP in druge, ki delujejo samo s CNG, brez izvoza zasebnega ključa

Sintaksa

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);

Parametri

SignProcessIDVrednost, ki jo vrne funkcija NewSignProcessFrom*
CertificateDERPopoln certifikat RSA ali ECDSA X.509, kodiran v DER, ki ustreza zasebnemu ključu
ProviderNameIme ponudnika shrambe ključev Windows ali prazen niz za Microsoft Software Key Storage Provider
KeyNameTrajno ime ključa, ki ga razume ponudnik
UseMachineKeyTrue ali neničelna vrednost za odpiranje ključa iz obsega računalnika
AllowUITrue ali neničelna vrednost za dovoljenje uporabniških vmesnikov PIN, soglasja ali obdobila v oblaku s strani ponudnika

Vrnjene vrednosti

1Konfiguracija identitete je bila pripeta procesu
0ID procesa, certifikat ali ime ključa ni bilo veljavno

Opombe

Ključ se odpre, ko se postopek podpisa izvede, in v pomnilnik knjižnice ne vstopijo nobeni bajti zasebnega ključa

Kadar je AllowUI false, se NCRYPT_SILENT_FLAG uveljavi pri odpiranju ključa in podpisovanjuUstvarjeni podpis CMS se preveri proti

CertificateDER, preden je sprejet, tako da je ključ z istim algoritmom, a napačnim ujemanjem zavrnjenActiveX sprejme varianto tabele bajtov, DLL pa uporablja izrecno dolžino certifikata, tako da so vgrajeni ničelni bajti ohranjeni

Glejte tudi

SetSignProcessCNGKeyFromFile, SetSignProcessCNGKeyByHandle, SetSignProcessPrivateKeyUI