我已經生成了一對私鑰/公鑰,並且我設法加載私鑰來簽署一些字節。當我嘗試從內存加載公鑰來驗證簽名時,問題就會出現。無法將公鑰加載到內存
下面是一些代碼:
privateKey := BIO_new(BIO_s_mem);
PEM_write_bio_RSAPrivateKey(privateKey,rsa,enc,nil,0,nil,PChar('1234567890'));
publicKey := BIO_new(BIO_s_mem);
PEM_write_bio_RSAPublicKey(publicKey,rsa);
WriteLn(GetErrorMessage);
//No error so far
Writeln('Keys generated!');
pKey := nil;
PEM_read_bio_PrivateKey(privateKey,pKey,nil,PChar('1234567890'));
// pKey is ok
mKey := nil;
PEM_read_bio_PUBKEY(publicKey,mKey,nil,nil);
WriteLn(GetErrorMessage);
由最後一行的錯誤輸出消息
PEM routines : PEM_read_bio : no start line
我在做什麼錯?
我會建議看看Indy是如何做到的...... – ComputerSaysNo
如果你不能使用OpenSSL,那麼也許使用其他庫? LovkBox3,Spring4Delphi等? –
openssl非常快,我想明白我在做什麼錯,而不是切換到其他東西 – opc0de