从unsigned char数组加载公钥

时间:2016-08-12 10:08:10

标签: public-key crypto++

我有一个公钥作为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数组加载公钥?

1 个答案:

答案 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);