如何从 DER 或 PEM 文件中获取字符数组或字节数组中的值?

问题描述

我尝试使用 C 语言中的 PKCS#11 库开发一些 ECC 功能。 我通过 openssl 生成了一些 ECC 密钥 DER 和 PEM 文件。 例如下面是ASN.1 JavaScript解码器解码后的DER文件之一。

EC_PRIVATEKEY ::= SEQUENCE {
  INTEGER 1
  OCTET STRING 61300E611C121ECBE7C2D49DA8FCD99571DF00296F51C3A9EC02DFF3063DBD3E
  [0]
    OBJECT IDENTIFIER 1.2.840.10045.3.1.7
  [1]
    BIT STRING 0004E924EC46F36A675528E2CA977A7D51C3E510993E092466F1A632419CC4A085F494F1B9D20E4B281484CB971B9AF99F088F11AB17A74928595075877D0047A4CC
}

如何从文件获取字符数组或字节数组中的“OCTET STRING”值?

输出可能如下所示:

//if the return is char array
privatekey = "61300E611C121ECBE7C2D49DA8FCD99571DF00296F51C3A9EC02DFF3063DBD3E";

//if the return is byte array
privatekey = {0x61,0x30,0x0E,0x61,0x1C,0x12,0x1E,0xCB,0xE7,0xC2,0xD4,0x9D,0xA8,0xFC,0xD9,0x95,0x71,0xDF,0x00,0x29,0x6F,0x51,0xC3,0xA9,0xEC,0x02,0xF3,0x06,0x3D,0xBD,0x3E};

我尝试了一些来自 openssl 的函数,例如 PEM_read_ECPrivateKey,但我不知道返回数据格式和结构。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...