我有一个公钥作为xxd:
的字节数组unsigned char publicKey_txt[] = {
0x30, 0x82, 0x02, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, .. };
从之前的Stack Overflow问题我有一个大致的了解,在我的情况下,StringSink
后跟加载应该工作
StringSource publicstring(publicKey_txt, true, NULL);
publicKey.Load(publicstring);
只需从文本文件加载即可,但是当我从StringSink
加载时出现错误:
Error: BER decode error
如何从unsigned char数组加载公钥?
答案 0 :(得分:1)
找到我的答案from @jww - Load RSA PKCS#1 private key from memory?
在我的情况下,稍微修改而不是SinkSource,我使用ArraySource,publicKey_txt_len是char数组publicKey_txt的大小。
CryptoPP::ArraySource as( publicKey_txt, publicKey_txt_len, true);
publicKey.Load(as);