openssl安装及使用.docx_第1页
openssl安装及使用.docx_第2页
openssl安装及使用.docx_第3页
openssl安装及使用.docx_第4页
openssl安装及使用.docx_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Openssl安装及使用一 软件Windows下需要用到的软件1. ActivePerl一个perl脚本解释器。其包含了包括有 Perl for Win32、Perl for ISAPI、PerlScript、Perl Package Manager四套开发工具程序,可以让你编写出适用于unix,windows,linux系统的CGI程序来。安装的只是perl的一个解释程序啦,外观上也不会发生什么变化,你在windows的cmd界面里输入perl -v可查看你所安装的版本。在你编译perl程序时会用到它。2. C+编译器编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) 预处理器 (preprocessor) 编译器 (compiler) 汇编程序 (assembler) 目标代码 (object code) 链接器 (Linker) 可执行程序 (executables)。 c+编译器是一个与标准化C+高度兼容的编译环境。这点对于编译可移植的代码十分重要。编译器对不同的CPU会进行不同的优化。3. OpenSSLOpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具。OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。4. MASM 8.0MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用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) Macro Assembler Version 8.00.50727.104将ml.exe 拷贝到工作目录,即可正常使用。5. mspdb60.dllmspdb60.dll是Microsoft Visual Studio编程数据库支持相关文件。该控件可以保证link.exe的运行,放于内存或系统Path中,Windows XP/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=xxxxxxxxx; 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:Perleg在该目录下执行:perl example.pl若结果显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了4、初始化VC+6.0 环境变量找到vc+ 6.0的安装目录下的VC98Bin执行如下的命令:cd C:Program FilesMicrosoft Visual StudioVC98BinVCVARS32.BAT5、正式开始安装OpenSSL(需进入到OpenSSL所在目录)执行Configure命令(配置编译参数,对编译环境进行基本的配置):perl Configure VC-WIN32生成配置文件运行msdo_ms命令如果需要其他方式进行编译,则分别运行:msdo_masmmsdo_nasm开始进行编译nmake -f msntdll.mak其中可能出现各种错误,可参照以下情况进行相关的处理:/zhangyang0402/archive/2010/05/09/5573188.aspx/zhangyang0402/archive/2010/05/10/5576259.aspx/html/03/n-2134203.html进行测试nmake -f msntdll.mak test如果出现以上提示(passed all tests)则说明成功注意:如果编译成功,最后的输出结果都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib,openssl.exe;把他们放到PATH环境变量对应的一个目录里就可以了。Linux下安装官网下载程序/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源码的地方。 make make test make install三 openssl命令生成私钥openssl genrsa -des3 out private.key 2048输入后需要输入两次密码Openssl可以将这个文件中公钥提取出来:Openssl rsa in private.key pubout out private_pub.key 生成CSR文件 Generate the CSRopenssl req -config c:f -new -key private.key -out private.csr(注意:windows下要加-config c:f linux下不用加这个代码)接着还要填写包括国家(中国添CN)、省份、所在城市、单位名称、单位部门名称(可以不填直接回车)。除国家缩写必须填CN外,其余都可以是英文或中文。其后还要输入要申请SSL证书的域名,如果需要为申请SSL证书就不能只输入。SSL证书是严格绑定域名的。最后是Email、口令(challenge password)和公司名称,建议不要输入,直接回车即可。 或者生成私钥:openssl genrsa -out private.pem 2048(无密码的)生成公钥:openssl rsa -in private.pem -out public.pem -pubout查看密钥信息:openssl rsa -noout -text -in privatekey_test.pem加密解密文件用生成的公钥加密文件hello.txt:openssl rsautl -encrypt -in hello.txt -inkey public.key -pubin -out hello.en用生成的私钥解密文件hello.en:openssl rsautl -decrypt -in hello.txt -inkey private.key -out hello1.txt计算数据的消息摘要:openssl dgst -sha1 -out md.txt hello.txt用私钥给消息摘要签名:openssl rsautl -sign -inkey private.pem -in md.txt -out signature.bin四 实例一、发送方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的私钥给消息摘要签名:OpenSSL 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 rsa -passin pass:654321 -pubout -in bpri.pem -out 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用A的公钥解密数字签名:OpenSSL rsautl -verify -pubin -inkey apub.pem -in signature.bin -out ms3.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. 如何生成带密码的密钥?openssl genrsa -des3 out private.key 2048(带-des3的就是需要密码的)。5. 加密解密文件的问题、-encrypt只能用公钥加密,-decrypt只能用私钥解密,只能用公钥加密文件私钥解密文件,否则会解密出错,私钥可以用来对信息摘要签名。6. 生成CSR文件问题? 在windows下命令一定要带-config c:f(f所在的位置)Linux下可以不带这个。7. windows下运行cmd输入openssl提示命令不存在?在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib,openssl.exe;把他们放到PATH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论