软件下载站,为您提供安全的软件下载!

当前位置:首页 > 电脑专区 > 其他软件 > 编程开发 > Openssl Windows v1.0.1g 32位

Openssl Windows v1.0.1g 32位

分享到:
OpenSSL是一个安全套接字层密码库,它囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。OpenSSL采用C语言作为开发语言,这使得它具有优秀的跨平台性能,用户借此可以在不同的平台使用同样熟悉的东西,它支持Linux、Windows、BSD、Mac和VMS等平台。OpenSSL主要包括SSL协议库、应用程序以及密码算法库三个主要功能,其中密码算法库具备对称加密和非对称加密等算法,OpenSSL可实现DH算法、RSA算法DSA算法和椭圆曲线算法(EC)四种非对称加密算法。此外,软件还提供了一些辅助功能,包括从口令生成密钥的API,证书签发和管理中的配置文件机制等。OpenSSL仅限32位操作系统使用。

OpenSSL安装前准备

1、初始化VC++ 6.0 环境变量(找到vc++ 6.0的安装目录下的VC98Bin执行如下的命令):

2、执行Configure命令(配置编译参数):

3、运行msdo_ms命令(在使用Configure脚本配置好参数):
另外两种方式 如果使用也必须保证本机安装有相应的编译器才能使用。 
:msdo_masm (默认vc自带的;也可以自己下载masm并安装)    
:msdo_nasm (需要下载nasm)

4、运行“nmake -f msntdll.mak”命令进行代码编译(需将目录跳到OpenSSL目录下)
如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib ;把他们放到PATH环境变量对应的一个目录里就可以了。
测试使用命令“nmake -f msntdll.mak test”
若安装成功的话,显示的最后几行如下图:

5、配置VC++6.0下的相关参数
在VC++ 6.0的工具—》选项—》目录下的Include files下添加OpenSSL安装目录下的include目录;在Library files下添加out32dll目录,现在你就可以使用OpenSSL编程了

OpenSSL安装及使用图解

1、首先OpenSSL的编译安装需Perl的支持,下载最新版ActivePerl和OpenSSL源码包
2、安装ActivePerl,安装的方法很简单只需点击“Win32OpenSSL-1_0_1g.exe”
3、提示用户正在安装OpenSSL 32位,这里注意仅适合32位操作系统使用,然后点击NExt

4、勾选“i accept the agreement”即同意此协议,并点击NExt
5、选择软件的安装路径,默认路径为C:OpenSSL-Win32,可点击browse更改安装路径,完成路径选择点击NExt

6、选择安装文件名,这里直接默认,并点击Next
7、选择附加任务,可勾选:
a.The Windows system directory:窗口系统目录
b.The OpenSSL binaries(/bin)directory:OpenSSL的二进制文件(/箱)目录
建议勾选a项,并点击Next

8、点击Install开始正式的安装,并等待安装完成即可

9、安装完成后,执行VC安装目录下vcvarsall.bat 配置默认环境
10、进入openssl目录,执行如下指令(X64环境)
> perl Configure VC-WIN64A
> msdo_win64a
> nmake -f msntdll.mak
> cd out32dll
> ..mstest
11、现在用户可使用OpenSSL啦

openssl如何使用?

一、对称加密
1.对称加密需要使用的标准命令为 enc ,用法如下:
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a/-base64]
[-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S salt] [-salt] [-nosalt] [-z] [-md]
[-p] [-P] [-bufsize number] [-nopad] [-debug] [-none] [-engine id]
2.常用选项有:
-in filename:指定要加密的文件存放路径
-out filename:指定加密后的文件存放路径
-salt:自动插入一个随机数作为文件内容加密,默认选项
-e:可以指明一种加密算法,若不指的话将使用默认加密算法
-d:解密,解密时也可以指定算法,若不指定则使用默认算法,但一定要与加密时的算法一致
-a/-base64:使用-base64位编码格式
3.示例:
加密:]# openssl enc -e -des3 -a -salt -in fstab -out jiami
解密:]# openssl enc -d -des3 -a -salt -in fstab -out jiami
二、单向加密
1.单向加密需要使用的标准命令为 dgst ,用法如下:
openssl dgst [-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] [-c] [-d] [-hex] [-binary]
[-out filename] [-sign filename] [-keyform arg] [-passin arg] [-verify filename] [-prverify
filename] [-signature filename] [-hmac key] [file...]
2.常用选项有:
[-md5|-md4|-md2|-sha1|-sha|-mdc2|-ripemd160|-dss1] :指定一种加密算法
-out filename:将加密的内容保存到指定文件中
三、生成密码
1.生成密码需要使用的标准命令为 passwd ,用法如下:
openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] [-noverify] [-quiet] [-table] {password}
2.常用选项有:
-1:使用md5加密算法
-salt string:加入随机数,最多8位随机数
-in file:对输入的文件内容进行加密
-stdion:对标准输入的内容进行加密
四、生成随机数
1.生成随机数需要用到的标准命令为 rand ,用法如下:
openssl rand [-out file] [-rand file(s)] [-base64] [-hex] num
2.常用选项有:
-out file:将生成的随机数保存至指定文件中
-base64:使用base64 编码格式
-hex:使用16进制编码格式

openssl命令详解

一、证书类
1.证书申请:Req
-inform 指定输入格式
-newkey rsa:bits 用于生成新的rsa密钥以及证书请求:默认名称为privkey.pem
-new 生成新的证书请求以及私钥,默认1024bits 
-rand 随机数种子文件
-rand file: rand.dat
-config file 指定证书请求模板,默认为openssl.cnf
-subj arg 制定证书请求的用户信息;不指定,则要求输入
-subj /CN=cn/OU=t/O=a
-utf8 指定为utf8,默认为ASCII编码
-batch 不询问用户请求
-newhdr 在生成的PEM证书请求文件头尾包含NEW字样;有些CA需要
-pubkey 获取证书请求中的公钥信息
-modulus 输出请求中的模数
-text 打印证书信息
-verify 验证证书请求
-x509 生成自签名证书
-md5/4/2/sha1/mdc2 生成自签名证书时,指定摘要算法
-days 生成自签名证书的有效期
2.个人证书:PKCS12
-export 输出pkcs12文件
-chain 添加证书链
-inkey 指定私钥文件
-certfile file添加file中所有证书文件
-CApath arg 指定CA文件目录
-CAfile arg 指定CA文件
-name 指定证书和私钥的友好名
-in 指定私钥和证书读取的文件,为PEM格式
-out 指定输出的pkcs12文件,默认为标准输出
-nomacver 读取时不验证MAC
-clcerts 只输出客户证书,不包含CA证书
-nokeys 不输出私钥
-info 输出pkcs12结构信息
-des3/ase128 私钥加密算法
-nodes 不对私钥加密
-maciter 加强完整性保护,多次计算MAC
-descert 用3DES加密pkcs12文件,默认RC2-40
-keysig 设置私钥只能用于签名
3.证书中心:Ca
-verbose 打印附加信息
-config 指定配置文件;默认安装,配置文件在/usr/local/ssl路径下
-name section替换配置文件default_ca所代表的内容
-gencrl 生成CRL文件
-revoke file 撤销证书,file文件中包含了证书
-crl_reason reason 设置CRLv2撤销原因
-policy arg 指定CA策略
-utf8 表明输入必须是utf8编码
-keyfile 指定签发证书的私钥文件
-key 指定私钥解密口令
-cert file 指定CA文件
-in 输入证书请求文件
-out 输出文件名
-notext 不输出文本格式证书信息
-outdir 设置输出路径
-infiles 处理多个路径请求文件,必须放在最后
-ss_cert file 指定需要由CA签发的自签名证书
-preserveDN 将证书中的DN顺序由配置文件来决定;如设置此项,则顺序与请求文件一致
-noemailDN 设置此项,则生成证书不会包含持有者DN,而是放在了扩展项里
-batch 批处理,不询问客户信息
-md arg 设置摘要算法,md5/sha/sha1/mdc2
-utf8 表示输入必须为utf8编码,默认为ASCII编码
二、算法类
1.Gendh/Dhparam/Dh
1)Gendh  用于生成DH参数 
用法:  
Openssl>gendh [-out file ] [-rand ] [-engine e ]  
例子:  
Openssl>  gendh -5 -out CA_dh.pem 1024 2)dhparam和dh 
DH参数及生成操作 
用法:  
Openssl dhparam [inform ][outform][in][out][dsaparam][noout][check][text][numbits] -dsaparam 生成DSA参数,并转换为DH格式
-check 检查dh 参数
-C 以C语言风格打印
-numbits 指定素数bit数;默认为512位
例子:
Openssl> dhparam -out dhparam.pem -text 512 #生成DH参数  
#检查DH参数  >  dhparam -in dhparam.pem -text -check
2.Dgst 
1)Dgst  
用于数据摘要 
用法
Openssl>dgst [-md5|-sha|mdc2/ripemd160/dss1] [-hex] [ -binary][-out filename] [-engine] [-sign privatekeyfile]  [-prverify privatekeyfile][-verify publickeyfile] 其中:  
-d 打印调试
-sign 用私钥签名
-verify 用公钥验证签名
-keyform PEM |ENGINE 密钥格式,pem,或者采用Engine
-hex 显示十六进制结果,默认
-binary 显示二进制
-engine e 采用引擎e来运算
-md5 默认,用来摘要

OpenSSL功能

一、基本功能
1.OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。OpenSSL的目录结构自然也是围绕这三个功能部分进行规划的。
2.作为一个基于密码学的安全开发包,OpenSSL提供的功能相当强大和全面,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用
二、辅助功能
1.BIO机制是OpenSSL提供的一种高层IO接口,该接口封装了几乎所有类型的IO接口,如内存访问、文件访问以及Socket等。这使得代码的重用性大幅度提高,OpenSSL提供API的复杂性也降低了很多
2.OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提
3.OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。如果你有足够的耐心,将会在深入使用OpenSSL的过程慢慢发现很多这样的小功能,让你不断有新的惊喜
三、其他功能
1.OpenSSL的应用程序已经成为了OpenSSL重要的一个组成部分,其重要性恐怕是OpenSSL的开发者开始没有想到的。如OpenCA,就是完全使用OpenSSL的应用程序实现的。OpenSSL的应用程序是基于OpenSSL的密码算法库和SSL协议库写成的,所以也是一些非常好的OpenSSL的API使用范例,读懂所有这些范例,你对OpenSSL的API使用了解就比较全面了,当然,这也是一项锻炼你的意志力的工作
2.OpenSSL的应用程序提供了相对全面的功能,在相当多的人看来,OpenSSL已经为自己做好了一切,不需要再做更多的开发工作了,所以,他们也把这些应用程序成为OpenSSL的指令。OpenSSL的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能

软件特点

一、安全信道特性
1.数据保密性
信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程需要用到密钥来加密数据然后再解密。没有了密钥,就无法解开加密的数据。数据加密之后,只有密钥要用一个安全的方法传送。加密过的数据可以公开地传送。
2.数据完整性
加密也能保证数据的一致性。例如:消息验证码(MAC),能够校验用户提供的加密信息,接收者可以用MAC来校验加密数据,保证数据在传输过程中没有被篡改过。
3.安全验证
加密的另外一个用途是用来作为个人的标识,用户的密钥可以作为他的安全验证的标识。SSL是利用公开密钥的加密技术(RSA)来作为用户端与服务器端在传送机密资料时的加密通讯协定。OpenSSL包含一个命令行工具用来完成OpenSSL库中的所有功能,更好的是,它可能已经安装到你的系统中了。OpenSSL是一个强大的安全套接字层密码库,Apache使用它加密HTTPS,OpenSSH使用它加密SSH,但是,你不应该只将其作为一个库来使用,它还是一个多用途的、跨平台的密码工具。
二、开源特点
1.Eric A. Young和Tim J. Hudson自1995年开始编写后来具有巨大影响的OpenSSL软件包,这是一个没有太多限制的开放源代码的软件包。Eric A. Young 和Tim J. Hudson是加拿大人,后来由于写OpenSSL功成名就之后就到大公司里赚大钱去了。1998年,OpenSSL项目组接管了OpenSSL的开发工作,并推出了OpenSSL的0.9.1版,到目前为止,OpenSSL的算法已经非常完善,对SSL2.0、SSL3.0以及TLS1.0都支持
2.OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能,这对于广大技术人员来说是一件非常美妙的事情,可以在不同的平台使用同样熟悉的东西。OpenSSL支持Linux、Windows、BSD、Mac、VMS等平台,这使得OpenSSL具有广泛的适用性。但习惯C语言总比使用C++重新写一个跟OpenSSL相同功能的软件包轻松不少

openssl怎么总是有漏洞?

一、漏洞发现
2014年4月8日,OpenSSL的大漏洞曝光。这个漏洞被曝光的黑客命名为“heartbleed”,意思是“心脏流血”——代表着最致命的内伤。利用该漏洞,黑客坐在自己家里电脑前,就可以实时获取到约30%https开头网址的用户登录账号密码,包括大批网银、购物网站、电子邮件等。
“心脏流血”首先被谷歌(微博)研究员尼尔·梅塔(Neel Mehta)发现,它可从特定服务器上随机获取64k的工作日志,由于数据是随机获取的,所以攻击者也不一定可以获得想要的信息,因此整个过程如同钓鱼,攻击可能一次次持续进行,大量敏感数据可能泄露。由于一台服务器的密钥也记录在其工作日志中,并且在大量数据中可被轻易辨别,因此将是首当其冲的获取目标,获取密钥后,攻击者可以掌握某网站或服务的实时流量情况,甚至可以破解被加密的以往流量日志。
安全专家介绍说,OpenSSL此漏洞堪称网络核弹,网银、网购、网上支付、邮箱等众多网站受其影响。无论用户电脑多么安全,只要网站使用了存在漏洞的OpenSSL版本,用户登录该网站时就可能被黑客实时监控到登录账号和密码。
根据相关媒体的报导,研究人员发现OpenSSL漏洞遍及全球互联网公司,并为其起了个形象的名字“心脏出血”,中国超过3万台主机受波及,国内网站和安全厂商技术人员为检查、抢修彻夜未眠。截至昨天,有超30%的主机已经修复,但技术人士称,消费者敏感信息是否泄露还有待日后观察。
二、成因
此次漏洞的成因是OpenSSL Heartbleed模块存在一个BUG,当攻击者构造一个特殊的数据包,满足用户心跳包中无法提供足够多的数据会导致memcpy把SSLv3记录之后的数据直接输出,该漏洞导致攻击者可以远程读取存在漏洞版本的OpenSSL服务器内存中长达64K的数据。
“心脏流血”这个名字听起来有点夸张,但这个漏洞的威力似乎当得起它的名字。不管是从可能感染的电脑数量还是从可能被泄露的数据规模,“心脏流血”的破坏力都超过在2014年早些时候狠狠羞辱了苹果公司的“GoToFail ”漏洞。“心脏流血”漏洞可以帮助黑客获得打开服务器的密钥,监听服务器数据和流量。更糟糕的是,这并不是一个新的漏洞, “心脏流血”其实已经存在两年了,但具体何时被人发现其危险性尚不得而知
三、补救措施
在各个网站尚未解决安全漏洞的近两天,用户尽量不登录或者少登录涉及资金、个人隐私的网站或系统,已经多次登录的用户请尽快修改密码、绑定手机、设置支付密码,最好采用手机令牌类软件如号令手机令牌等,确保通过实时变化的动态口令保障账号安全。代码安全审计机构NCC Group将开始参与到 OpenSSL 的代码审计当中。NCC 首席安全工程师的描述,OpenSSL 已经对代码进行了重构,新的代码已经足够稳定并且很快会取代现有版本。而 NCC 在代码审计中将会专注于 TLS stacks 方面的安全问题,包含 protocol flow、state transitions 和 memory management。除 NCC Group 之外,其它学术机构、商业分析公司、认证机构和个人都会参与 OpenSSL 各方面代码审计。
四、漏洞拦截
备受关注的OpenSSL“心脏出血”漏洞有了最新进展:不法分子可以通过漏洞获取网站私钥,并通过盗取的证书伪造假冒网站,或可躲避一些安全软件及安全浏览器的拦截。
五、漏洞风险
此前曝出的“心血漏洞”由于影响范围之广而引起了国内互联网业界及用户的极大关注。黑客可能利用“心脏出血”漏洞,攻击网民的个人电脑,盗取帐号密码、登陆认证cookies、网银密钥等私密数据。
六、漏洞影响
据专家介绍,由于Windows上用OpenSSL的软件很多,且多数使用自己安装目录下的 SSLeay32.dll 和 Libeay32.dll,没有统一的升级管理机制,该漏洞可能会长期存在。
专家解释,由于网站证书被认为是网址安全可信的标志,因此黑客会利用漏洞盗取网站私钥从而冒名顶替合格的网站证书。此种情况下,安全系统或杀毒软件很可能不能判断网站的真实
展开更多

软件截图

扫描二维码,手机下载APP

软件下载站本地下载

相关文章