OpenSSL是一款非常好用的传输层安全性与安全套字层协议工具。编程人员都在使用的OpenSSL。它也是一个通用加密库,并且openssl根据Apache样式授权,基本上意味着您可以在一些简单的许可条件下自由地使用它以进行商业和非商业目的;用户可以使用OpenSSL工具实现TLS和SSL加密协议进入您的项目,该项目基本上是一个开源,与多个操作系统兼容以保护您的在线传输; Internet数据传输安全性,SSL和TSL协议通常用于保护在线通信,用户使用身份验证键和数据加密来执行此操作,以便重要信息是机密的;该软件为用户提供生成安全键和加密数据的可靠方法,因此敏感信息可以安全地在线,C语言用于开发主机库,甚至是一个命令行工具,允许您访问可用的每个密码和算法!!
软件功能:
支持的多加密算法此工具支持多个加密算法。
此控制台可用于通过AES,DES,SHA-1或MD5生成个人证书和密钥。
该库还支持使用公钥,包括DSA和RSA的加密算法。
下载不包含文档。但是,有许多可用的在线资源描述如何实现算法。
由于它是一个开源社区,您也可以贡献材料。
控制台是此包中使用该工具的位置。
在这种情况下,熟悉图形界面的经验丰富的用户可能会遇到麻烦。
此外,用户必须了解大量加密标准和加密算法以成功使用库。
总的来说,openssl是一个强大的实用程序
使用和创建公钥,专用密钥和各种项目的证书。
软件特色:
OpenSSL分为四个主要组件:
Libcrypto这是提供各种加密的基元的核心库。
此外,它还为libssl和libcrypto提供了一组支持服务。
并实现CMS和OCSP等协议。
发动机的功能,可以通过发动机API扩展到Libcrypto。
通常,发动机是在Libcrypto中注册的动态加载模块,并使用可用钩子提供密码算法。
通常,这些是Libcrypto提供的算法的替代实现(例如,算法的硬件加速)
但是,它们还可以包括默认OpenSSL中未实现的算法
例如,GOST引擎实现了一种GOST算法系列。
一些引擎作为Openssl发布的一部分提供,而其他引擎是由外部第三方(同一GOST)提供的。
libssl。库依赖于Libcrypto并实现TLS和DTLS协议。
应用。这些应用程序是一组命令行工具
这些工具使用基础libssl和libcrypto组件来提供一组密码和其他功能,例如:
括号和参数生成和检查,证书生成和检查
SSL / TLS测试工具,ASN.1测试等。
软件优势:
EVP(信封)API级别的执行副总裁提供了用于加密功能的先进抽象界面
与特定的实现绑定无关。
建议不要通过EVP层以外的接口直接实现特定的密码算法。
EVP层还提供复合操作,例如签名和验证。
还提供了一些复合操作作为EVP水平操作(例如HMAC-SHA256)。
EVP还允许以与算法无关的方式使用密码算法
例如,EVP_DIGESTSign可以同时用于RSA和ECDSA算法。
不支持FIPS140。 FIPS140它仅适用于OpenSSL-1.0.2
openssl-1.0.2早于现有体系结构,并且与API或ABI不兼容。
使用教程:
概念组件视图
现有架构是一个简单的4层层,底部是加密层。 TLS层取决于加密层,而应用程序取决于TLS和加密层。
注意:图表中的组件的存在并不表示组件是公共API,或者最终用户直接访问或使用。
包装地图
上述组件包装为Libcrypto和Libssls和相关引擎接口,以及用于运行各种应用程序的“OpenSSL”命令行。如下所示。
未来的建筑
未来的架构具有以下特点:
核心服务构成可用于应用程序和提供商的构建块。 (例如,Bio,X509,Secmem,Asn1等)。
提供商实现密码算法和支持服务。提供商有一个或多个实现:
算法的加密原语,例如如何加密/解密/符号/哈希等。
例如,如何将私钥转换为PEM文件的算法。序列化可以是目前不支持的格式,或者可以是当前不支持的格式。
存储加载器后端。 OpenSSL电流具有存储器加载器,可从文件中读取密钥,参数和其他项目。提供商可以从另一个位置(例如,LDAP目录)加载加载器。
提供商可以是完全独立的,或其他提供商或核心服务可用。例如,应用程序可以使用硬件提供程序实现的算法的密码原语,可以使用其他提供商的序列化将密钥导出到PKCS#12格式。
默认提供程序(包括当前openssl加密算法实现的核心)将是“内置的”,但其他提供程序将能够在运行时动态加载。
传统的提供商模块将为旧算法提供加密实现(例如,DES,MDC2,MD2,河豚,演员)。 OMC将发布如何以及何时将算法从默认提供商转换为传统提供商的问题。
在OpenSSL FIPS加密模块中体现的FIPS提供商将能够在运行时动态加载。
使用核心,您可以访问提供者(和其他提供商)提供的服务到应用程序。提供商向核心提供方法。核心是可以专门用于诸如算法之类的事物的机制,例如算法。
核心将实现基于属性的查找功能来查找算法,例如,它可能允许您找到“FIPS = True”或“keysize = 128,conston_time = true”的算法。具体细节将在未来的设计文件中确定。
该协议是实施的。例如,TLS,DTL。
未来的构具有以下功能:
EVP层成为在提供者中实现的服务的简化包装。大多数电话都是直接完成的,几乎没有/没有预处理。
将提供新的EVP API以找到用于核心中的任何给定EVP呼叫的算法的实现。
信息将与非相关方式在核心库和提供程序之间传递。
旧版API(例如,EVP层的低级加密API)将被丢弃。注意,存在非传统算法的传统API(例如,AES是非传统算法,而AES_ENCRYPT是传统的API)。
OpnSSL FIPS加密模块将实现为动态加载的提供程序。它是独立的(即,只能依赖于核心提供的系统运行时库和服务)。
随着时间的推移,还可以转换其他接口以使用核心(例如,可以考虑使用OSSL_Store)。
发动机的使用将进入提供者。 “再见发动机,你好提供者”。
概念组件视图
以下(粉红色必然杀害)图显示了OpenSSL准建筑中的概念组件概述。
注意:图表中的组件的存在并不表示组件是公共API,或者最终用户直接访问或使用。
此处显示的组件如下:
应用程序:命令行应用程序,如CA,Cipher,CMS,DGST等。
协议:提供根据标准协议在端点之间进行通信的功能
TLS协议:所有支持的TLS / DTLS协议和支持的基础架构实现,例如:
SSL BIO:使用TLS进行沟通
DISTEM:TLS状态机
记录:TLS录制层
其他协议
CMS:加密消息语法的实现
OCSP:在线证书状态协议的实施
TS:实现时间戳协议
支持服务:为支持协议代码而设计的组件
数据包:读取协议消息的内部组件
WPACKET:用于编写协议消息的内部组件
核心:这是一个基本组件,用于将服务请求(例如,加密)连接到服务提供商。它实现了提供者注册其服务和这些服务的属性的能力。它还提供了在必须与给定服务遇到的一组属性的情况下定位服务的能力。例如,加密服务的属性可以包括“AEAD”,“AES-GCM”,“FIPS”,“Security-Bits = 128”
默认提供程序:实现在核心中注册的一组默认服务。
支持服务
低级实现:这是一组实际实现密码基元的组件。
FIPS提供商:实施一系列由FIPS验证并可用于核心的服务。这些包括以下支持:
帖子:启动自检
KAT:已知的答案测试
完整性检查
低级实现:这是一组实际实现加密的主要语言的组件(以满足FIPS要求)。
旧版提供商:提供将由EVP级别API打开的旧算法的实现。
第三方提供商:不属于OpenSL分发。第三方可以实施自己的提供商。
一般服务:这些构成应用程序和提供商可以使用的构建块。 (例如,Bio,X509,Secmem,Asn1等)。
旧版本的API。 “低级”API。这里的“旧版本”是指API,而不是算法本身。例如,AE不是传统算法,但具有传统的API(例如,AES_ENCRYPT)。
包装地图
上述上述各种组件在上述概念性组件视图中是物理包装的:
用户使用的可执行应用程序
供应商使用的库
用于核心的动态加载模块。
这里显示的物理包是:
opensl可执行文件。命令行应用程序。
libssl。它包含与TLS和DTL相关的所有内容。其内容将与原始架构中的Libs基本相同。请注意,一些支持服务将被移动到libcrypto。
libcrypto。此库包含以下组件:
实现核心服务,例如:X509,ASN1,EVP,OSSL_Store等。
核
具有TLS或DTL的非相关协议
协议支持服务(例如数据包和WPacket)
包含实现所有默认算法的默认提供程序
libcrypto的遗产。提供旧的“较低”API。这些API的算法可以从任何提供商派生。
FIPS模块。它包括一个FIPS提供程序,它实现了一组传递FIPS验证并在核心注册的服务。
旧块模块。这包括提供者的旧版本。
安装步骤:
1.用户可以单击本网站上提供的下载路径以下载相应的程序安装包。
2,只需要使用解压缩函数打开压缩包,双击主程序安装,弹出程序安装界面
3,同意上述协议条款,然后继续安装应用程序,单击同意按钮
4.您可以根据自己的需要更改应用程序的安装路径来单击“浏览”按钮。
5,弹出以下界面,用户可以使用鼠标单击下一步但是
吨
6,可以根据用户的需要创建桌面快捷方式,或者您无法创建
7,现在准备安装主程序,单击“安装”按钮开始安装
8,弹出应用程序安装计划加载界面,只需等待负载完成
9,单击根据提示的安装,弹出程序要安装接口,单击已完成的按钮