当前位置:C++技术网 > 资讯 > [C] OpenSSL开源库的正确使用方法是什么

[C] OpenSSL开源库的正确使用方法是什么

更新时间:2017-06-25 21:34:17浏览次数:1+次

    OpenSSL 是一个为套接字提供了 加密和解密功能 的开源库。它可以帮忙省去自己写加密解密算法的开发时间,而且最关键的是它还有一个证书验证的功能,可间接防止一些黑客破解了自己写的加密解密算法,不断对服务器发送正常封包,而对服务器数据库造成破坏的事情发生(当然,太强的黑客就没办法了,比如心脏出血事件)。

    以上我对 OpenSSL 的初步理解,更深刻我是没办法理解,特别是去用机器翻译 OpenSSL 的官网内容,我居然找不到说明文档(编译方法等问题还得去查CSDN),官网就提供下载、常见问题(我英语太差了,机器翻译又很难理解是什么意思)和一本官方推荐书籍(而且也是英文的,购买方式还是外国的)。

    我在 CSDN 找了很多关于 OpenSSL 的资料,可是很少有几个能用的。因为有些人写日记是写给自己记录的,别人看不看得懂都与我没关系而写的;也有些是复制粘贴缩减版。特别是生成证书,唯一靠谱就一个,还只是命令行生成的,而且这些命令行的命令只是冰山一角,而且还是老旧的。我想知道更多的(比如用C语言代码生成证书),却无从下手,唉。

    结果我回来C++技术网寻找解决方案,结果发现C++技术网一个 OpenSSL 资料都没有,然后我再看了一下C++技术网的网址http://www.cjjjs.com/,居然不是 Https 开头的。现在大多数网站都是流行 Https ( OpenSSL 版本)的网页了,难道网页升级为 OpenSSL 版本是一件很困难的事情吗?

    这非常麻烦,我非常急用 OpenSSL 的证书生成,代码文档和使用流程解释的方法(我的项目需要防黑客封包破解问题)。

    希望C++技术网能科普、使用、总结 OpenSSL 的资料。

    最后感谢C++技术网的回答。


C++技术网会员解答:

    您好,感谢您对C++技术网的支持与信任。

    我们C++技术网为什么不使用https呢?这个不是技术原因。我们网站是内容网站,需要各大搜索引擎收录网页,才会让网站得到推广,才能有更多人能够搜索到需要的内容。而搜索引擎对于https支持的不太好,https会让内容搜索受阻,从而影响网站的推广。而作为纯粹的内容系统,还用不着https。只有涉及到交易的网站类型,才需要安全加密。内容网站所以不需要,才没有做。

    虽然资料不多,但是可能你搜索的方式还有所偏差。如果你直接搜索SSL安全证书之类的,得到的结果一般都是对于证书的使用和直接生成,也就是常见的命令的方式生成。然后就是如何使用证书还有很多是介绍SSL是怎么回事的。

    而你需要的是,自己写代码创建证书,而不是要用其他程序帮你生成证书。所以你要的是编程实现证书的创建,还有就是相关的编程资料。这方面的资料肯定少。一般大家使用SSL证书也都是用软件生成好,然后使用证书来做业务的。然后就是加密解密,很少有去直接生成证书的。

    所以这就要发挥自己的编程经验了。既然程序可以生成证书,必须可以。那么必然是由SSL库提供的API实现的。所以最好的资料就是SSL源码了。SSL的源码文件里,你肯定可以找到生成证书、读取证书、加密和解密相关的函数。所以第一件事,你要下载到SSL的源码。然后就是学习SSL库的使用。

    SSL源码的下载:https://www.openssl.org/source/

    SSL库的编译:http://blog.csdn.net/lizhoujian/article/details/2850239

    使用SSL库编程的基本方法,请参考《使用 OpenSSL API 进行安全编程》。

    SSL对证书的常用操作,包括创建和读取证书,请参考《OpenSSL 常用证书操作函数》。

    更多相关的编程资料,相信在这个基础上,你会找到很多的。