您好,欢迎来到欧得旅游网。
搜索
您的当前位置:首页openssl安装及使用图解

openssl安装及使用图解

来源:欧得旅游网


Openssl安装及使用

一 软件

Windows下需要用到的软件

• C++编译器

编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) → 预处理器 (preprocessor) → 编译器 (compiler) → 汇编程序 (assembler) → 目标代码 (object code) → 链接器 (Linker) → 可执行程序 (executables)。 c++编译器是一个与标准化C++高度兼容的编译环境。这点对于编译可移植的代码十分重要。编译器对不同的CPU会进行不同的优化。

• ActivePerl

一个perl脚本解释器。其包含了包括有 Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套开发工具程序,可以让你编写出适用于unix,windows,linux系统的CGI程序来。安装的只是perl的一个解释程序啦,外观上也不会发生什么变化,你在windows的cmd界面里输入perl -v可查看你所安装的版本。在你编译perl程序时会用到它。

法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

• MASM 8.0

• MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使OpenSSL

OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具。

OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算用MASM的开发人员必须在windows下进行开发。8.0版本在编译OpenSSL的时候不容易出错。

• 用winrar解压缩MASMSetup.exe得到:setup.exe继续用winrarNASM.EXE和nasmw.exe非必要软件是其他方式的编译,如需要可放于内存或系统Path中。

Linux下需要用到的软件

Linux下只用到openssl软件

二 软件安装

Windows下安装解压缩setup.exe 得到:vc_masm1.cab继续用winrar解压缩vc_masm1.cab得到:FL_ml_exe__..... (很长的文件名,省略),将这个文件重命名为

ml.exe测试得到的ml.exe , 应该显示: Microsoft (R) Macro Assembler Version 8.00.50727.104将ml.exe 拷贝到工作目录,即可正常使用。

• mspdb60.dll

mspdb60.dll是Microsoft Visual Studio编程数据库支持相关文件。该控件可以保证link.exe的运行,放于内存或系统Path中,Windows XP/WIN7系统,则复制到C:WindowsSystem32目录下。

• 常规方式安装好Perl和VC++6.0,首先要保证系统Path中必要程序的存在,ml.exe(ml.err),cl.exe,link.exe,nmake.exe和perl.exe等,运行perl.exe确保Perl安装成功(将这些软件的所在文件地址放到系统环境变量path中,如perl.exe在D:\\perl\\下,path=xxxxxx\\xxx; D:\\perl\\;就ok了)

2、perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0

禁用IPV6,避免出现NMAKE : fatal error U1077: 'cl' : return code '0x2'错误

3、运行“CMD”命令,进入MS-DOS,在perl安装目录的eg文件夹下确认Perl是否正常安装了:

cd C:\\Perl\\eg

在该目录下执行:perl example.pl

若结果显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl

的相关命令来进行OpenSSL的安装了

4、初始化VC++6.0 环境变量

找到vc++ 6.0的安装目录下的\\VC98\\Bin\\执行如下的命令:

cd C:\\Program Files\\Microsoft Visual Studio\\VC98\\Bin

VCVARS32.BAT

5、正式开始安装OpenSSL(需进入到OpenSSL所在目录)

⑴执行Configure命令(配置编译参数,对编译环境进行基本的配置):

perl Configure VC-WIN32

⑵生成配置文件

运行ms\\do_ms命令

如果需要其他方式进行编译,则分别运行:

ms\\do_masm

ms\\do_nasm

⑶开始进行编译

nmake -f ms\\ntdll.mak

其中可能出现各种错误,可参照以下情况进行相关的处理:

http://blog.csdn.net/zhangyang0402/archive/2010/05/09/5573188.aspx

http://blog.csdn.net/zhangyang0402/archive/2010/05/10/5576259.aspx

http://www.khgl.cn/html/03/n-2134203.html

⑷进行测试

nmake -f ms\\ntdll.mak test

如果出现以上提示(\"passed all tests\")则说明成功

注意:如果编译成功,最后的输出结果都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib,openssl.exe;把他们放到PATH环境变量对应的一个目录里就可以了。

Linux下安装

官网下载程序http://www.openssl.org/

gunzip -d openssl.0.9.6.tar.gz (也可以从网上下载下来再解压)

tar -xf openssl.0.9.6.tar.gz(解压缩文件)

mv openssl.0.9.6 openssl (将openssl.0.9.6文件夹下的内容移动到openssl文件夹下)

cd openssl (进入openssl文件夹)

./config --prefix=XXXXX --openssldir=XXXXXXXX (安装openssl,这里prefix是你想安装openssl的地方, openssldir就是你tar开的openssl源码的地方。需要输入两次密码

Openssl可以将这个文件中公钥提取出来:

Openssl rsa –in private.key –pubout –out private_pub.key

生成CSR文件 Generate the CSR

openssl req -config c:\\openssl\\bin\\openssl.cnf -new -key private.key -out private.csr(注意:windows下要加-config c:\\openssl\\bin\\openssl.cnf linux下不用加这个代码)

接着还要填写包括国家(中国添CN)、省份、所在城市、单位名称、单位部门名称(可以不填直接回车)。除国家缩写必须填CN外,其余都可以是英文或中文。

其后还要输入要申请SSL证书的域名,如果需要为www.domain.com申请SSL证书就不能只输入domain.com。SSL证书是严格绑定域名的。

最后是Email、口令(challenge password)和公司名称,建议不要输入,直接回车即可。

或者

生成私钥:

make

make

openssl rsa -in private.pem -out public.pem -pubout

查看密钥信息:

openssl rsa -noout -text -in privatekey_test.pem

加密解密文件

用生成的公钥加密test

make install

三 openssl命令

生成私钥

openssl genrsa -des3 –out private.key 2048

输入后

openssl genrsa -out private.pem 2048(无密码的)

生成公钥:文件hello.txt:

openssl rsautl -encrypt -in hello.txt -inkey public.key -pubin -out hello.en

用生成的方A:

生成私钥:

OpenSSL> genrsa -passout pass:123456 -out apri.pem 1024

生成公钥:

OpenSSL> rsa -passin pass:123456 -pubout -in apri.pem -out apub.pem

用B的公钥加密数据:

OpenSSL> rsautl -encrypt -pubin -inkey bpub.pem -in data.txt -out edata.txt

计算数据的消息摘要:

OpenSSL> dgst -sha1 -out md.txt data.txt

用A的私钥给消息摘要签名私钥解密文件hello.en:

openssl rsautl -decrypt -in hello.txt -inkey private.key -out hello1.txt

计算数据的消息摘要:

openssl dgst -sha1 -out md.txt hello.txt

用私钥给消息摘要签名:

openssl rOpenSSL> rsa -passin pass:654321 -pubout -in bpri.pem bpub.pem

用B的私钥解密数据:

OpenSSL> rsautl -decrypt -inkey bpri.pem -in edata.txt -out data.txt

计算data.txt的信息摘要:

OpenSSL> dgst -sha1 -out ms2.txt data.txt

-out

用A的公钥解密数字签名:

OpenSSL> rsautl -verify -pubin -inkey apub.pem -in signature.bin -out ms3.txt

最后比较:ms2.txt 和ms3.txtsautl -sign -inkey private.pem -in md.txt -out signature.bin

四 实例

一、发送:

OpenSSL>ad6910d33d5f96cbd7b9b3378107b8b04ba1c138

五 遇到的问题及解决方法

• 在linux下安装openssl,从网页直接下载openssl.0.9.6.tar.gz存在什么地方?

openssl.0.9.6.tar.gz存放在/home/user(此处是用户名)/下载.

• 在linux下如何进入root?

命令:sudo –i然后会提示输入密码。

• Linux下openssl安装到了社么地方?

Linux下程序一般装生成公钥:

内容完全相同:

SHA1(data.txt)= 安装地址是自己选择的。

• 如何生成带密码的密钥?

openssl genrsa -des3 –out private.key 2048(带-des3的就是需要密码的)。

• 加密解密文件的问题、

• -安装图文详解http://www.linuxidc.com/Linux/2011-01/31229.htm

《OpenSSL 与网络信息安全——基在/usr文件夹下,这里注意./config --prefix=XXXXX --openssldir=XXXXXXXX rsautl -sign -inkey apri.pem -in md.txt -out signature.bin

将edata.txt和signature.bin发送给接收方B

二、接收方B

生成私钥:

OpenSSL> genrsa -passout pass:654321 -out bpri.pem 1024

• 础、结构和指令》王志海 中国OpenSSL 专业论坛

OpenSSL命令行工具验encrypt只能用公钥加密,-decrypt只能用私钥解密,只能用公钥加密文件私钥解密文件,否则会解密出错,私钥可以用来对信息摘要签名。

6. 生成CSR文件问题?

在windows下命令一定要带-config c:\\openssl\\bin\\openssl.cnf(openssl.cnf所在的位置)Linux下可以不带这个。

• windows下运行cmd输入openssl提示命令不存在?

在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib,openssl.exe;把他们放到PATH环境变量对应的一个目录里就可以了。

参考文献:

• Windows环境中OpenSSL的安装

http://download.csdn.net/download/douhui2002/2873355

• Linux下OpenSSL 证数字签名

http://blog.chinaunix.net/uid-27875-id-3063665.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- ovod.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务