将证书转换为字节数组
如何将证书(PEM/DER 格式)转换为字节数组?
我的设备上没有文件系统,并且想在其上使用客户端证书。所以我想将此 SSL 证书复制到缓冲区(无符号字符)中。我的 Windows 机器上有证书文件。
将证书转换为数组的正确方法是什么?简单的角色复制可以吗?
维沙尔·N
How to convert a certificate(PEM/DER format) into byte array?
I don't have file system on my device and want to use the client certificate on it. So I want to copy this SSL certificate into a buffer(unsigned char). I have certificate file on my windows machine.
What is the right way to convert the certificate into array? Simple character copy will work?
Vishal N
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
检查此代码,解释作为注释添加,
检查 i2d_X509, PEM_read_bio_X509_AUX 函数了解更多详细信息。
该缓冲区可用于创建
PCCERT_CONTEXT
结构。check this code, explanations are added as comments ,
check the i2d_X509, PEM_read_bio_X509_AUX functions for more details.
This buffer can be used to create
PCCERT_CONTEXT
structure.当你使用gcc+gnu-binutils+openssl时,可以使用 ld 将文件文字包含到程序中。然后使用 d2i_X509 将文字解析为 X509 结构。
首先运行 ld -r -b binary -o cert.crt.o cert.crt (cert.crt 必须采用 DER 形式,我不知道 .crt 是否是 DER 的正确扩展名) 。
example.c
然后使用
gcc -o ct example.c cert.crt.o -lcrypto
编译该程序。When you use gcc+gnu-binutils+openssl, you can use ld to include a file literal into the program. Then you use d2i_X509 to parse the literal into a X509 structure.
First run
ld -r -b binary -o cert.crt.o cert.crt
(cert.crt MUST be in DER form, I don't know if .crt is the correct extension for DER).example.c
Then you compile this program with
gcc -o ct example.c cert.crt.o -lcrypto
.