我正试图从PKCS第12号档案中进口RSA的私人钥匙。 我正在利用开放式特别安全局对P12进行整顿,然后我正试图利用CryptImportKey将钥匙输入强化的RSA供应商。
Ï create the blob exactly same way as I get it when I do export the key from CSP with CryptExportKey.
Lastly I do not want to use any session encryption as I am only parsing encrypted file and storing it into CSP. If I use
publickeystruc.aiKeyAlg := CALG_RSA_KEYX;
and
if not CryptImportKey(tmpprovider,addr(privkey),dwBlobLen,0,flags,hPubKey) then
errorCode := GetLastError;
然后,该功能失败,我获得ERROR_INVALID_PARAMETER错误。 但是,这些钥匙是进口的,而且正在全面运作(我试图与它签署,如果出口明显,我能够出口)。
兹宣布如下:
hpubkey:PHCRYPTKEY;
privkey:privkeyblob;
地点
HCRYPTKEY = ULONG;
PHCRYPTKEY = ^HCRYPTKEY;
其余为ger和 card。
问题已经解决,这是真正的 st。 我忘记,当我把最后的参数归为零时,就不提这一参数。
hPubKey^:=0;
我
hPubKey := 0;
感谢TLama向我指出了正确方向。