用Openssl API制作证书

本文介绍了如何在Windows 2000系统中利用Openssl API生成RSA密钥对、证书请求以及X509证书。主要内容包括设置环境、生成密钥对、构造证书请求、签名请求以及创建和签署X509证书。文章提到了关键函数如RSA_generate_key、X509_REQ_sign等,并强调了随机数生成和证书扩展的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    Openssl中形成X509证书的函数集中在genrsa.c,req.c,ca.c,x509.c等中,但是这些文件中的函数过于复杂,不太容易理解。下载了中国信息安全组织webmaster的CISOCA后受益非浅,思路清晰,真是非常感谢zrh。
一:准备工作
    确保在windows2000系统安装了openssl,vc6.0。将libeay32.dll和SSLeay32.dll复制到system32目录下,将libeay32.lib和SSLeay32.lib复制到当前目录并且导入工程中,将openssl里inc32下的openssl复制到VC的include文件夹下(或者用option->directories也行),切记在主函数的开头包含如下:
OpenSSL_add_all_ciphers();
OpenSSL_add_all_digests();
ERR_load_crypto_strings();

二:产生密钥对
    从公钥基础设施(PKI)这个名词上就可以看出密钥在这个体系中的重要性,数字证书也就是将公钥和实体的一些信息绑定并且跟它相关的私钥联合使用,所以形成一对安全的密钥对是至关重要的。RSA算法是现在比较流行的公开密钥算法,在openssl里,产生RSA密钥对的文件为genrsa.c.
主要有如下两个函数:
    1,app_RAND_load_files(char *file),它的目的是导入随机数种子文件。因为RSA算法的基础是随机产生两个大素数,所以随机数的产生极为重要,有时要配置专用机器随时生成,不过这里可以建立一个包含两三行以上的随机字符的文件即可。
    2,RSA_generate_key(int bits, unsigned long e_value,voi

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值