opensslopenssl入门


备注

本节概述了openssl是什么,以及开发人员可能想要使用它的原因。

它还应该提到openssl中的任何大型主题,并链接到相关主题。由于openssl的文档是新的,您可能需要创建这些相关主题的初始版本。

版本

发布日期
1.1.0e 2017年2月16日
1.1.0d 2017年1月26日
1.1.0c 2016年11月10日
1.1.0b 2016年9月26日
1.1.0a 2016年9月22日
1.1.0 2016年8月25日
1.0.2k 2017年1月26日
1.0.2j 2016年9月26日
1.0.2i 2016年9月22日
1.0.2h 2016年5月3日
1.0.2g 2016年3月1日

(De-)openssl库的初始化

概观

Openssl由2个库组成: libcryptolibssl 。在openssl API可以在应用程序中使用之前,预计将执行强制初始化过程。一旦应用程序完成与openssl相关的工作,就应该清理分配的资源。

下面的代码完成初始化,但是,开发人员可以自由初始化他感兴趣的openssl内容。

初始化libcrypto

ERR_load_crypto_strings();
OpenSSL_add_all_algorithms();
OPENSSL_config(NULL); // Load default configuration (e.g. openssl.conf)
 

初始化libssl

OPENSSL_init_ssl(0, NULL);
 

取消初始化

CONF_modules_unload(1);
EVP_cleanup();
CRYPTO_cleanup_all_ex_data();
ERR_remove_state();
ERR_free_strings();
 

在Linux / Unix系统上构建和安装openssl

概观

这些说明用于从源代码获取,构建和安装openssl。 Openssl通常也包含在包管理器中。

资源

https://github.com/openssl/openssl

依赖

  • 使
  • perl 5
  • GCC /铛
  • 混帐

可以通过包管理器(如apt,dnf或brew)安装依赖项。

脚步

$ cd ~/path/to/projects
$ git clone https://github.com/openssl/openssl.git
$ cd openssl
$ ./config
$ make
$ make test
$ sudo make install
 

默认情况下,openssl将安装到/ usr / local。

校验

$ openssl --version
 

您现在已在计算机上安装了默认的openssl版本。

安装或设置

OpenSSL是一个开源项目,为传输层安全(TLS)和安全套接字层(SSL)协议提供强大的,商业级的全功能工具包。它也是一个通用的加密库。

OpenSSL工具包是根据Apache风格的许可证授权的,这基本上意味着您可以根据某些简单的许可条件自由获取并将其用于商业和非商业目的。

OpenSSL命令示例

检查ssl证书

openssl x509 -in server.crt -noout -text
 

生成服务器密钥

openssl genrsa -out server.key 2048
 

生成csr

openssl req -out server.csr -key server.key -new
 

在Windows上运行OpenSSL而不安装

这个解决方法帮助了我们很多工作(技术支持),我们制作了一个简单的批处理文件,我们可以从任何地方运行(我们没有安装实际exe的权限)。此解决方法将运行OpenSSL并为您打开bin文件夹(因为这是您创建或修改的任何文件将被保存的位置)。

如何设置:

  1. 下载OpenSSL二进制文件[这里] [1]。 (请注意,这已确认适用于0.9.8h版本。)

  2. 将此代码复制到名为StartOpenSSL.bat的文件中。将其保存到您选择的位置。它可以在任何地方运行。

     @echo off
     title OpenSSL
    
     cd\openssl\bin
    
     if exist "C:\openssl\share\openssl.cnf" (
    
     set OPENSSL_CONF=c:/openssl/share/openssl.cnf
     start explorer.exe c:\openssl\bin
    
     echo Welcome to OpenSSL
    
     openssl
    
     ) else (
    
     echo Error: openssl.cnf was not found
     echo File openssl.cnf needs to be present in c:\openssl\share
     pause
    
     )
    
     exit
     
  3. 下载OpenSSL二进制文件后,将它们提取到名为OpenSSL的文件夹中的C驱动器中。 (路径需要是C:\ OpenSSL)。不要移动任何文件夹内容,只需将它们提取到文件夹即可。

  4. 您已准备好使用OpenSSL。对于没有安装权限的Windows用户来说,这是一个很好的解决方法,因为它不需要任何权限。只需双击即可运行之前的bat文件。 [1]: http//gnuwin32.sourceforge.net/packages/openssl.htm