gpt4 book ai didi

delphi - 无法将公钥加载到内存

转载 作者:行者123 更新时间:2023-12-03 18:27:45 26 4
gpt4 key购买 nike

我已经生成了一对私钥/公钥,并且我设法加载了私钥来签署一些字节。当我尝试从内存中加载公钥以验证签名时,就会出现问题。

这是一些代码:

  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

我究竟做错了什么 ?

最佳答案

问题是你在混合 PEM_write_bio_RSAPublicKey()PEM_read_bio_PUBKEY() .前者写入一个 PKCS#1 RSAPublicKey 结构,而后者需要一个 SubjectPublicKeyInfo 结构。这两种结构不可互换,因此您在阅读时会出错。

要解决此错误,请使用 PEM_write_bio_RSA_PUBKEY()将您的公钥写入 BIO 时。

关于delphi - 无法将公钥加载到内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14080061/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com