c - 从 p12 证书中提取和放置 key

标签 c openssl embedded wifi freertos

我有一个嵌入式设备需要通过 wpa2 企业加密连接到路由器。
我需要替换文件 cacert.h、client-cert.h 和 client-key.h 中代码中的默认证书。 key 和证书必须进行硬编码。
我拥有一个 client.p12 文件,它的内容需要分布在这三个文件或它们的任意组合中。
谁能告诉我如何从 client.p12 文件中提取上述 key ,提取后哪些 key 放在哪里?

最佳答案

您可能需要使用 openssl pkcs12 命令。请引用其page .

要将 PKCS #12 文件(p12 文件)解析为 key 和证书,请使用以下命令

openssl pkcs12 -in client.p12 -out client.pem

client.pem 将有证书(因为它也有证书链)和私钥。所有这些都将采用 PEM 格式。您可以使用一些实用程序来读取内容并在它们以 -----BEGIN 开头时将它们分开。

它还会要求输入密码(用于私钥)并为此 p13 文件输入密码。

如果您只想提取证书,请使用以下命令。

openssl pkcs12 -in client.p12 -clcerts -out cert.pem

这里,cert.pem 将只有客户端证书。

希望对您有所帮助。

关于c - 从 p12 证书中提取和放置 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19443593/

相关文章:

linux-kernel - 重启后如何检测内核 panic

c - 18f4620 上的 Microchip TCPIP 堆栈

c - C 中的 Pthread arg

c - OpenGL 编译错误 Ubuntu

windows - 无法加载私钥

http - 将 http 服务器转换为 https 服务器需要什么?

c - 将 objconv 与 ld 而不是 gcc 一起使用

c - 从 fgets() 获取的行中删除 "\n"

security - 通过标准输入安全地将密码传递给 openssl

c++ - c++ 类中的 static const 和 const 变量在存储方面有区别吗