[iOS]通过openssl库生成pkcs#10证书

本文介绍了如何在iOS应用中利用openssl库生成PKCS#10证书请求。首先解释了OpenSSL库和PKCS#10证书请求标准,然后详细讲述了在Xcode项目中集成openssl静态库的步骤,包括编译静态库、添加头文件路径,以及创建和实现证书请求的C函数。最后展示了生成证书请求字符串的示例,帮助开发者理解其工作原理。
摘要由CSDN通过智能技术生成

OpenSSL:一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

pkcs#10:PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准。

What is PKCS? http://www.rsa.com/rsalabs/node.asp?id=2308

PKCS 目前共发布过 15 个标准:其中,
PKCS#10:证书请求语法标准。PKCS#10定义了证书请求的语法。证书请求包含了一个唯一识别名、公钥和可选的一组属性,它们一起被请求证书的实体签名(证书管理协议中的PKIX证书请求消息就是一个PKCS#10)。

Mac osx 系统自带了命令行工具生成p10证书:
具体参见这里:通过命令行生成p10证书

如果我们想要通过代码方式实现证书请求,就要需要用到openssl的函数。
1、因为openssl库是基于c语言的库,为方便在Xcode中使用,我们需要把它编译为静态库。具体如何编译,可以参考这篇文件:在iOS中如何编译openssl的静态库

2、如果不想这么麻烦,大家可以在这里下载已经编译好的.a文件。感谢这些前辈们帮我们省了不少事。libssl.a支持多架构

3、第二步下载下来的文件目录结构是这样的:
a)include目录下包含一个openssl目录,openssl目录底下是所有头文件
b)libssl.a和libcrypto.a
4、把上面所有文件拖到工程中,注意:在TARGET->您的项目名称->Build Settings 里面搜索:Header Search Path,在里面增加配置:$(PROJECT_DIR)/include/
5、新建一个C File,命名为:header,Xcode会同时帮我们生成一个header.h的头文件。
在header.h中,我们引用一下头文件,并且声明需要用到的函数.

#include <openssl/x509.h>
#include <openssl/rsa.h>
#include <openssl/pem.h>
//**在这里需要声明函数**/
X509_NAME *parse_name(char *subject, long chtype, int multirdn);
X509_NAME *CreateDN(char *pbEmail, char *pbCN, char *pbOU, char *pbO, char *pbL, char<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值