admin 管理员组文章数量: 887039
2023年12月23日发(作者:send要加to吗)
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. OpenSSL
OpenSSL是一个强大的安全套接字层密码库,Apache使用
它加密HTTPS,OpenSSH使用它加密SSH,它还是一个多用途的、跨平台的密码工具。
OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库、SSL协议库以及应用程序。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用。
4. MASM 8.0
MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。8.0版本在编译OpenSSL的时候不容易出错。
用winrar解压缩得到:继续用winrar解压缩 得到:vc_继续用winrar解压缩vc_得到:FL_ml_exe__..... (很长的文件名,省略),将这个文件重命名为测试得到的 , 应该显示:
Microsoft (R) Macro Assembler Version 8.00.50727.104将 拷贝到工作目录,即可正常使用。
5.
是Microsoft Visual Studio编程数据库支持相关文件。该控件可以保证的运行,放于内存或系统Path中,Windows XP/WIN7系统,则复制到C:WindowsSystem32目录下。
6. 和非必要软件是其他方式的编译,如需要可放于内存或系统Path中。
Linux下需要用到的软件
Linux下只用到openssl软件
二 软件安装
Windows下安装
1. 常规方式安装好Perl和VC++6.0,首先要保证系统Path中必要程序的存在,(),,,和等,运行确保Perl安装成功(将这些软件的所在文件地址放到系统环境变量path中,如在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
若结果显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了
4、初始化VC++6.0 环境变量
找到vc++ 6.0的安装目录下的VC98Bin执行如下的命令:
cd C:Program FilesMicrosoft Visual StudioVC98Bin
5、正式开始安装OpenSSL(需进入到OpenSSL所在目录)
⑴执行Configure命令(配置编译参数,对编译环境进行基本的配置):
perl Configure VC-WIN32
⑵生成配置文件
运行msdo_ms命令
如果需要其他方式进行编译,则分别运行:
msdo_masm
msdo_nasm
⑶开始进行编译
nmake -f
其中可能出现各种错误,可参照以下情况进行相关的处理:
/zhangyang0402/archive/2010/05/09/
/zhangyang0402/archive/2010/05/10/
/html/03/
⑷进行测试
nmake -f test
如果出现以上提示("passed all tests")则说明成功
注意:如果编译成功,最后的输出结果都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: ,,,,;把他们放到PATH环境变量对应的一个目录里就可以了。
Linux下安装
官网下载程序/
gunzip -d (也可以从网上下载下来再解压)
tar -xf (解压缩文件)
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 2048
输入后需要输入两次密码
Openssl可以将这个文件中公钥提取出来:
Openssl rsa –in –pubout –out private_
生成CSR文件 Generate the CSR
openssl req -config c: -new -key
-out (注意:windows下要加-config
c: linux下不用加这个代码)
接着还要填写包括国家(中国添CN)、省份、所在城市、单位名称、单位部门名称(可以不填直接回车)。除国家缩写必须填CN外,其余都可以是英文或中文。
其后还要输入要申请SSL证书的域名,如果需要为申请SSL证书就不能只输入。SSL证书是严格绑定域名的。
最后是Email、口令(challenge password)和公司名称,建议不要输入,直接回车即可。
或者
生成私钥:
openssl genrsa -out 2048(无密码的)
生成公钥:
openssl rsa -in -out -pubout
查看密钥信息:
openssl rsa -noout -text -in privatekey_
加密解密文件
用生成的公钥加密文件:
openssl rsautl -encrypt -in -inkey
-pubin -out
用生成的私钥解密文件:
openssl rsautl -decrypt -in -inkey
-out
计算数据的消息摘要:
openssl dgst -sha1 -out
用私钥给消息摘要签名:
openssl rsautl -sign -inkey -in
-out
四 实例
一、发送方A:
生成私钥:
OpenSSL> genrsa -passout pass:123456 -out
1024
生成公钥:
OpenSSL> rsa -passin pass:123456 -pubout -in
-out
用B的公钥加密数据:
OpenSSL> rsautl -encrypt -pubin -inkey -in
-out
计算数据的消息摘要:
OpenSSL> dgst -sha1 -out
用A的私钥给消息摘要签名:
OpenSSL> rsautl -sign -inkey -in -out
将和发送给接收方B
二、接收方B
生成私钥:
OpenSSL> genrsa -passout pass:654321 -out
1024
生成公钥:
OpenSSL> rsa -passin pass:654321 -pubout -in
-out
用B的私钥解密数据:
OpenSSL> rsautl -decrypt -inkey -in
-out
计算的信息摘要:
OpenSSL> dgst -sha1 -out
用A的公钥解密数字签名:
OpenSSL> rsautl -verify -pubin -inkey -in
-out
最后比较: 和内容完全相同:
SHA1()=
ad6910d33d5f96cbd7b9b3378107b8b04ba1c138
五 遇到的问题及解决方法
1. 在linux下安装openssl,从网页直接下载存在什么地方?
存放在/home/user(此处是用户名)/下载.
2. 在linux下如何进入root?
命令:sudo –i然后会提示输入密码。
3. Linux下openssl安装到了社么地方?
Linux下程序一般装在/usr文件夹下,这里注意./config
--prefix=XXXXX --openssldir=XXXXXXXX 安装地址是自己选择的。
4. 如何生成带密码的密钥?
openssl genrsa -des3 –out 2048(带-des3的就是需要密码的)。
5. 加密解密文件的问题、
-encrypt只能用公钥加密,-decrypt只能用私钥解密,只能用公钥加密文件私钥解密文件,否则会解密出错,私钥可以用来对信息摘要签名。
6. 生成CSR文件问题?
在windows下命令一定要带-config
c:(所在的位置)Linux下可以不带这个。
7. windows下运行cmd输入openssl提示命令不存在?
在out32dll目录下:包括可执行文件、两个dll和两个lib文件: ,,,,;把他们放到PATH环境变量对应的一个目录里就可以了。
参考文献:
1. Windows环境中OpenSSL的安装/download/douhui2002/2873355
2. Linux下OpenSSL 安装图文详解/Linux/2011-01/
3. 《OpenSSL 与网络信息安全——基础、结构和指令》王志海
中国OpenSSL 专业论坛
4. OpenSSL命令行工具验证数字签名
/
版权声明:本文标题:openssl安装及使用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1703287180h445600.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论