测试已测试 | ✗ |
Lang语言 | Obj-CObjective C |
许可 | 自定义 |
发布最新发布 | 2016年10月 |
由Marcin Krzyżanowski,Frederic Jacobs,Michael Kirk维护。
OpenSSL 1.0.2d 2015年7月9日
版权所有 © 1998-2011 OpenSSL项目。版权所有© 1995-1998 Eric A. Young, Tim J. Hudson。保留所有权利。
描述
OpenSSL项目是一个旨在开发功能强大、商业级别、完全特色的开源工具集的合作项目,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1)协议,同时还有一个强大的通用加密库。该项目由一个全球志愿者社区管理,他们通过网络进行沟通、计划和开发OpenSSL工具集及其相关文档。
OpenSSL基于由Eric A. Young和Tim J. Hudson开发的优秀SSLeay库。OpenSSL工具集采取双许可(OpenSSL许可证加上SSLeay许可证)的形式,这意味着只要您满足两个许可证的条件,您就可以自由地获取和用于商业和非商业目的。
概述
OpenSSL工具集包括
libssl.a:实现SSLv2、SSLv3、TLSv1以及支持SSLv2、SSLv3和TLSv1的一个服务器和客户端所需的代码。
libcrypto.a:SSL/TLS所需的通用加密和X.509 v1/v3功能,但不实际上是逻辑上的一部分。它包括以下程序的例程
Ciphers
libdes - EAY's libdes DES encryption package which was floating
around the net for a few years, and was then relicensed by
him as part of SSLeay. It includes 15 'modes/variations'
of DES (1, 2 and 3 key versions of ecb, cbc, cfb and ofb;
pcbc and a more general form of cfb and ofb) including desx
in cbc mode, a fast crypt(3), and routines to read
passwords from the keyboard.
RC4 encryption,
RC2 encryption - 4 different modes, ecb, cbc, cfb and ofb.
Blowfish encryption - 4 different modes, ecb, cbc, cfb and ofb.
IDEA encryption - 4 different modes, ecb, cbc, cfb and ofb.
Digests
MD5 and MD2 message digest algorithms, fast implementations,
SHA (SHA-0) and SHA-1 message digest algorithms,
MDC2 message digest. A DES based hash that is popular on smart cards.
Public Key
RSA encryption/decryption/generation.
There is no limit on the number of bits.
DSA encryption/decryption/generation.
There is no limit on the number of bits.
Diffie-Hellman key-exchange/key generation.
There is no limit on the number of bits.
X.509v3 certificates
X509 encoding/decoding into/from binary ASN1 and a PEM
based ASCII-binary encoding which supports encryption with a
private key. Program to generate RSA and DSA certificate
requests and to generate RSA and DSA certificates.
Systems
The normal digital envelope routines and base64 encoding. Higher
level access to ciphers and digests by name. New ciphers can be
loaded at run time. The BIO io system which is a simple non-blocking
IO abstraction. Current methods supported are file descriptors,
sockets, socket accept, socket connect, memory buffer, buffering, SSL
client/server, file pointer, encryption, digest, non-blocking testing
and null.
Data structures
A dynamically growing hashing system
A simple stack.
A Configuration loader that uses a format similar to MS .ini files.
openssl:一个命令行工具,可用于:创建RSA、DH和DSA密钥参数,创建X.509证书、CSR和CRL,计算消息摘要,使用密码加密和解密,SSL/TLS客户端和服务器测试,处理S/MIME签名或加密的邮件
安装
要在类Unix系统下安装此软件包,请阅读INSTALL文件。对于Win32平台,请阅读INSTALL.W32文件。对于OpenVMS系统,请阅读INSTALL.VMS。
在doc/目录中阅读文档。它相当粗糙,但列出了函数;您可能需要查看代码来了解如何使用它们。查看示例程序。
问题
对于某些平台,有一些已知的问题可能会影响用户或应用程序设计师。我们试图在doc/PROBLEMS中收集这些问题,并就如何在未来解决这些问题提供当前的思路。
支持
有关如何获取商业技术支持的详细信息,请参阅OpenSSL网站www.openssl.org。
如果您遇到任何OpenSSL问题,请首先采取以下步骤
- Download the current snapshot from ftp://ftp.openssl.org/snapshot/
to see if the problem has already been addressed
- Remove ASM versions of libraries
- Remove compiler optimisation flags
如果您希望报告一个错误,请在任何错误报告中包含以下信息
- On Unix systems:
Self-test report generated by 'make report'
- On other systems:
OpenSSL version: output of 'openssl version -a'
OS Name, Version, Hardware platform
Compiler Details (name, version)
- Application Details (name, version)
- Problem Description (steps that will reproduce the problem, if known)
- Stack Traceback (if the application dumps core)
将报告通过电子邮件发送到
[email protected]
请注意,请求跟踪器不得用于一般的协助或支持查询。某件事物没有按预期工作并不一定意味着它是 OpenSSL 中的bug。
请注意,发送到 [email protected] 的邮件将记录在公共请求跟踪器数据库中(详情请见 https://www.openssl.org/support/rt.html),并将其转发到公共邮件列表。机密邮件可以发送到 [email protected](PGP密钥可在密钥服务器上获取)。
如何为 OpenSSL 贡献
开发在openssl-dev邮件列表上进行协调(有关订阅信息,请参阅 http://www.openssl.org)。如果您想提交补丁,请将补丁发送到 [email protected],主题中包含字符串“[PATCH]”。请确保包含补丁功能的文本说明。
如果您不确定某个特性是否对 OpenSSL 社区有用,请首先在 openssl-dev 邮件列表上进行讨论。可能有人已经在做同样的事情,或者有很好的理由解释为什么该特性还没被实现。
补丁应尽可能最新,最好是相对于当前的 Git 或最后快照。它们应遵循 OpenSSL 的编码风格,且在编译时应无警告。核心团队的开发者目标可用于测试目的(例如 debug-steve64,debug-geoff 等)。OpenSSL 在许多多种平台上编译:请尽量确保您只使用可移植的特性。
注意:由于法律原因,只能接受从美国来的贡献,前提是向 [email protected](以前称为 BXA)发送 TSU 通知和补丁副本,副本发送给加密请求协调员;请花点时间查看 http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [sic] 和 http://w3.access.gpo.gov/bis/ear/pdf/740.pdf(EAR 部分 740.13(e))的详细信息。如果“您的加密源代码太大,无法作为电子邮件附件发送”,他们很乐意通过传真接收;希望您有一个便宜的长途电话计划。
我们首选的更改格式是 "diff -u" 输出。您可能需要这样生成
# cd openssl-work # [您的更改] # ./Configure dist; make clean # cd .. # diff -ur openssl-orig openssl-work > mydiffs.patch