Elv*_* R. 1 openssl x509certificate x509
我正在尝试实现OpenSSL的OCSP功能,如此处所述,它需要X509对象作为参数.我所拥有的只是.cer格式的x.509证书文件.如何在OpenSSL中使用.cer证书初始化X509对象?(如果重要的话,我在XCode中使用OpenSSL 1.0.0g).
有两个主要案例.我会在这里介绍.
请注意,我假设您正在使用C++.您选择的平台,如果它是理智的,应该具有这些功能的绑定.
在第一种情况下,您的证书文件采用所谓的PEM格式.如果您在文本编辑器中打开证书并查看一些带有人类可读标头的Base64编码数据,那就是PEM文件.在这种情况下,您想要的功能具有签名
X509 *PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u);
第一个参数是指向返回的FILE对象的指针fopen().您可以将最后三个参数保留为NULL.此函数返回指向X509创建的对象或NULL出错时的指针.
在第二种情况下,您的证书文件是所谓的DER形式.如果你在文本编辑器中打开证书并看到一些垃圾,那可能是一个DER文件.在这种情况下,您想要的功能具有签名
X509 *d2i_X509_fp(FILE *fp, X509 **x);
你应该能够留下第二个参数NULL.此函数返回指向X509创建的对象或NULL出错的指针.
官方的OpenSSL文档非常不完整.如果您正在寻找一本好的参考手册,我可以推荐O'Reilly的"OpenSSL网络安全"(ISBN 978-0-596-00270-1).它是为OpenSSL 0.9.6/0.9.7编写的,并没有完全覆盖某些主题(例如CRL),但涵盖了所有重要的点并提供了示例代码.如果有的话,它会帮助你减少损失:)
| 归档时间: | 
 | 
| 查看次数: | 1966 次 | 
| 最近记录: |