openssl安装及使用.docx

上传人:b****0 文档编号:9014726 上传时间:2023-05-16 格式:DOCX 页数:8 大小:47.63KB
下载 相关 举报
openssl安装及使用.docx_第1页
第1页 / 共8页
openssl安装及使用.docx_第2页
第2页 / 共8页
openssl安装及使用.docx_第3页
第3页 / 共8页
openssl安装及使用.docx_第4页
第4页 / 共8页
openssl安装及使用.docx_第5页
第5页 / 共8页
openssl安装及使用.docx_第6页
第6页 / 共8页
openssl安装及使用.docx_第7页
第7页 / 共8页
openssl安装及使用.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

openssl安装及使用.docx

《openssl安装及使用.docx》由会员分享,可在线阅读,更多相关《openssl安装及使用.docx(8页珍藏版)》请在冰点文库上搜索。

openssl安装及使用.docx

openssl安装及使用

Openssl安装及使用

一软件

Windows下需要用到的软件

1.ActivePerl

一个perl脚本解释器。

其包含了包括有PerlforWin32、PerlforISAPI、PerlScript、PerlPackageManager四套开发工具程序,可以让你编写出适用于unix,windows,linux系统的CGI程序来。

安装的只是perl的一个解释程序啦,外观上也不会发生什么变化,你在windows的cmd界面里输入perl-v可查看你所安装的版本。

在你编译perl程序时会用到它。

2.C++编译器

编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。

一个现代编译器的主要工作流程:

源代码(sourcecode)→预处理器(preprocessor)→编译器(compiler)→汇编程序(assembler)→目标代码(objectcode)→链接器(Linker)→可执行程序(executables)。

c++编译器是一个与标准化C++高度兼容的编译环境。

这点对于编译可移植的代码十分重要。

编译器对不同的CPU会进行不同的优化。

3.OpenSSL

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

OpenSSL整个软件包大概可以分成三个主要的功能部分:

密码算法库、SSL协议库以及应用程序。

OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。

作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。

4.MASM8.0

MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。

它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。

8.0版本在编译OpenSSL的时候不容易出错。

用winrar解压缩MASMSetup.exe得到:

setup.exe继续用winrar解压缩setup.exe得到:

vc_masm1.cab继续用winrar解压缩vc_masm1.cab得到:

FL_ml_exe__.....(很长的文件名,省略),将这个文件重命名为ml.exe测试得到的ml.exe,应该显示:

Microsoft(R)MacroAssemblerVersion8.00.50727.104将ml.exe拷贝到工作目录,即可正常使用。

5.mspdb60.dll

mspdb60.dll是MicrosoftVisualStudio编程数据库支持相关文件。

该控件可以保证link.exe的运行,放于内存或系统Path中,WindowsXP/WIN7系统,则复制到C:

WindowsSystem32目录下。

6.NASM.EXE和nasmw.exe非必要软件是其他方式的编译,如需要可放于内存或系统Path中。

Linux下需要用到的软件

Linux下只用到openssl软件

二软件安装

Windows下安装

1.常规方式安装好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、perlConfigureVC-WIN32-DOPENSSL_USE_IPV6=0

禁用IPV6,避免出现NMAKE:

fatalerrorU1077:

'cl':

returncode'0x2'错误

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

cdC:

\Perl\eg

在该目录下执行:

perlexample.pl

若结果显示“HellofromActivePerl!

”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了

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

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

cdC:

\ProgramFiles\MicrosoftVisualStudio\VC98\Bin

VCVARS32.BAT

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

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

perlConfigureVC-WIN32

⑵生成配置文件

运行ms\do_ms命令

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

ms\do_masm

ms\do_nasm

⑶开始进行编译

nmake-fms\ntdll.mak

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

⑷进行测试

nmake-fms\ntdll.maktest

如果出现以上提示("passedalltests")则说明成功

注意:

如果编译成功,最后的输出结果都在out32dll目录下:

包括可执行文件、两个dll和两个lib文件:

libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib,openssl.exe;把他们放到PATH环境变量对应的一个目录里就可以了。

Linux下安装

官网下载程序http:

//www.openssl.org/

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

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

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

cdopenssl(进入openssl文件夹)

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

make

maketest

makeinstall

三openssl命令

生成私钥

opensslgenrsa-des3–outprivate.key2048

输入后需要输入两次密码

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

Opensslrsa–inprivate.key–pubout–outprivate_pub.key

生成CSR文件GeneratetheCSR

opensslreq-configc:

\openssl\bin\f-new-keyprivate.key-outprivate.csr(注意:

windows下要加-configc:

\openssl\bin\flinux下不用加这个代码)

接着还要填写包括国家(中国添CN)、省份、所在城市、单位名称、单位部门名称(可以不填直接回车)。

除国家缩写必须填CN外,其余都可以是英文或中文。

其后还要输入要申请SSL证书的域名,如果需要为申请SSL证书就不能只输入。

SSL证书是严格绑定域名的。

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

或者

生成私钥:

opensslgenrsa-outprivate.pem2048(无密码的)

生成公钥:

opensslrsa-inprivate.pem-outpublic.pem-pubout

查看密钥信息:

opensslrsa-noout-text-inprivatekey_test.pem

加密解密文件

用生成的公钥加密文件hello.txt:

opensslrsautl-encrypt-inhello.txt-inkeypublic.key-pubin-outhello.en

用生成的私钥解密文件hello.en:

opensslrsautl-decrypt-inhello.txt-inkeyprivate.key-outhello1.txt

计算数据的消息摘要:

openssldgst-sha1-outmd.txthello.txt

用私钥给消息摘要签名:

opensslrsautl-sign-inkeyprivate.pem-inmd.txt-outsignature.bin

四实例

一、发送方A:

生成私钥:

OpenSSL>genrsa-passoutpass:

123456-outapri.pem1024

生成公钥:

OpenSSL>rsa-passinpass:

123456-pubout-inapri.pem-outapub.pem

用B的公钥加密数据:

OpenSSL>rsautl-encrypt-pubin-inkeybpub.pem-indata.txt-outedata.txt

计算数据的消息摘要:

OpenSSL>dgst-sha1-outmd.txtdata.txt

用A的私钥给消息摘要签名:

OpenSSL>rsautl-sign-inkeyapri.pem-inmd.txt-outsignature.bin

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

二、接收方B

生成私钥:

OpenSSL>genrsa-passoutpass:

654321-outbpri.pem1024

生成公钥:

OpenSSL>rsa-passinpass:

654321-pubout-inbpri.pem-outbpub.pem

用B的私钥解密数据:

OpenSSL>rsautl-decrypt-inkeybpri.pem-inedata.txt-outdata.txt

计算data.txt的信息摘要:

OpenSSL>dgst-sha1-outms2.txtdata.txt

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

OpenSSL>rsautl-verify-pubin-inkeyapub.pem-insignature.bin-outms3.txt

最后比较:

ms2.txt和ms3.txt内容完全相同:

SHA1(data.txt)=ad6910d33d5f96cbd7b9b3378107b8b04ba1c138

五遇到的问题及解决方法

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

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

2.在linux下如何进入root?

命令:

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

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

Linux下程序一般装在/usr文件夹下,这里注意./config--prefix=XXXXX--openssldir=XXXXXXXX安装地址是自己选择的。

4.如何生成带密码的密钥?

opensslgenrsa-des3–outprivate.key2048(带-des3的就是需要密码的)。

5.加密解密文件的问题、

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

6.生成CSR文件问题?

在windows下命令一定要带-configc:

\openssl\bin\f(f所在的位置)Linux下可以不带这个。

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

在out32dll目录下:

包括可执行文件、两个dll和两个lib文件:

libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib,openssl.exe;把他们放到PATH环境变量对应的一个目录里就可以了。

参考文献:

1.Windows环境中OpenSSL的安装

2.Linux下OpenSSL安装图文详解

3.《OpenSSL与网络信息安全——基础、结构和指令》王志海中国OpenSSL专业论坛

4.OpenSSL命令行工具验证数字签名

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2