我有一个公钥,它是来自xxd的字节数组:
unsigned char publicKey_txt[] = {
0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, .. };
从以前的堆栈溢出问题,我有一个大致的理解,在我的情况下,StringSink
之后的负载应该工作
StringSource publicstring(publicKey_txt, true, NULL);
publicKey.Load(publicstring);
简单地从文本文件加载工作,但当我从StringSink
加载时,我得到一个错误:
Error: BER decode error
如何从unsigned char数组加载公钥?
从@ jwww -从内存中加载RSA pkcs# 1私钥找到我的答案?
在我的情况下,轻微修改而不是SinkSource,我使用ArraySource和publicKey_txt_len是字符数组publicKey_txt的大小。
CryptoPP::ArraySource as( publicKey_txt, publicKey_txt_len, true);
publicKey.Load(as);