[linux查看端口占用]linux 下Openssl的安装配置与使用方法

更新时间:2019-10-21    来源:linux    手机版     字体:

【www.bbyears.com--linux】


1.   Openssl介绍

自己网上找去吧,我说的不好!

2.   安装
1、下载地址:http://www.openssl.org/source/ ;下一个最新新版本的OpenSSL,版本是:openssl-1.0.2-beta1.tar.gz

2、在下载的目录中,用命令执行:tar -xzf openssl-openssl-1.0.2-beta1.tar.gz

3、进入解压的目录:openssl-1.0.2-beta1  [.......]#cd openssl-1.0.2-beta1

4、[.....openssl-1.0.2-beta1]# ./config --prefix=/usr/local/openssl

5、[...../openssl-1.0.2-beta1]# ./config -t

6、[...../openssl-1.0.2-beta1]# make depend    (时间很长)

7、[.../openssl-1.0.2-beta1]# make                     (时间很长,慢慢等待)

8、[.../openssl-1.0.2-beta1]# maketest

9、[.../openssl-1.0.2-beta1]# makeinstall

10、[...../openssl-1.0.2-beta1]# cd /usr/local

11、[/usr/local]# ln -s openssl ssl

12、在/etc/ld.so.conf文件的最后面,添加如下内容:/usr/local/openssl/lib

13...]# ldconfig

14添加OPESSL的环境变量:

在etc/的profile的最后一行,添加:

export OPENSSL=/usr/local/openssl/bin

export PATH=$OPENSSL:$PATH:$HOME/bin

15退出命令界面,再从新登录。

16、以上OPENSSL就安装完毕,下面进行一些检查。

17依次如下执行:

[root@localhost /]# cd /usr/local

[root@localhost local]# ldd /usr/local/openssl/bin/openssl

会出现类似如下信息:

linux-vdso.so.1 =>  (0x00007fff3bc73000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fc5385d7000)
libc.so.6 => /lib64/libc.so.6 (0x00007fc538279000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc5387db000)
18查看路径

...]# which openssl

/usr/local/openssl/bin/openssl

19、...]# openssl version

OpenSSL 1.0.2-beta1 24 Feb 2014

3.   错误情况
自己写的程序出现这个(fatal error: openssl/sha.h: No such fileor directory)或者相似的问题,一开始以为是环境变量的问题,重装了几次,后来差了网络才知道问题所在,都是没有安装libssl-dev,libssl-dev包含libraries, header files and manpages,他是openssl的一部分,而openssl对ssl进行了实现。解决方案:使用sudo apt-get install libssl-dev来安装libssl-dev即可注:部分为网上抄袭!


下面来看使用方法,生成RSA

3.1  公私钥对生成

命令解析:openssl genrsa[-out filename] [-passout arg] [-des] [-des3] [-idea]     [-f4][-3] [-rand file(s)] [numbits]

OPTIONS

-out filename    私有密钥输入文件名,缺省为标准输出。

-passout arg 参看指令dsa里面的passout参数说明    -des|-des3|-idea   采用什么加密算法来加密我们的密钥。一般会要你输入保护密码。   如果这三个中一个也没set, 我们的密钥将不被加密而输入。

-F4|-3    使用的公共组件,一种是3, 一种是F4, 我也没弄懂这个option是什么意思。

-randfile(s)    产生key的时候用过seed的文件,可以把多个文件用冒号分开一起做seed.

-numbits    指明产生的参数的长度。必须是本指令的最后一个参数。如果没有指明,则产生512bit长的参数。   研究过RSA算法的人肯定知道,RSA的私有密钥其实就是三个数字,其中俩个是质数。这俩个呢,就叫prime numbers.产生RSA私有密钥的关键就是产生这俩。还有一些其他的参数,引导着整个私有密钥产生的过程。因为产生私有密钥过程需要很多随机数,这个过程的时间是不固定的。

//root@ubuntu:/mnt/hgfs/windows_linux/AlipayEx/study/opensslstudy/study#openssl genrsa -out RSAPrivateKey.pem  1024

//root@ubuntu:/mnt/hgfs/windows_linux/AlipayEx/study/opensslstudy/study#openssl rsa -in RSAPrivateKey.pem -pubout -out RSAPublicKey.pem

 

3.2  读取密钥

PEM_read_RSAPrivateKey

PEM_read_RSA_PUBKEY

具体参数看文档去吧!

3.3  加解密

公钥加密,私钥解密

RSA_public_encrypt

RSA_private_decrypt

具体参数看文档去吧!

3.4  签名

私钥签名,公钥验签

SHAwithRSA

1.SHA1M(自己封装的)

2. RSA_sign(/*sha1withRSA第一个参数为NID_sha1,第二第三个参数为明文的sha1摘要及长度SA_verify

本文来源:http://www.bbyears.com/caozuoxitong/74524.html

热门标签

更多>>

本类排行