
汎用暗号ライブラリおよびSSL/TLSツールキット。暗号、ダイジェスト、公開鍵アルゴリズム、X.509証明書を実装し、暗号化、復号、証明書管理のためのコマンドラインツールを提供します。
OpenSSL 1.0.1g 7 Apr 2014
Copyright (c) 1998-2011 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson All rights reserved.
OpenSSLプロジェクトは、Secure Sockets Layer(SSL v2/v3)およびTransport Layer Security(TLS v1)プロトコルを実装した、堅牢で商用グレード、フル機能のオープンソースツールキットと、本格的な汎用暗号ライブラリを開発するための協力的な取り組みです。このプロジェクトは、インターネットを利用してOpenSSLツールキットと関連ドキュメントのコミュニケーション、計画、開発を行う、世界中のボランティアコミュニティによって管理されています。
OpenSSLは、Eric A. YoungとTim J. Hudsonが開発した優れたSSLeayライブラリに基づいています。OpenSSLツールキットはデュアルライセンス(OpenSSLライセンスとSSLeayライセンス)で提供されており、基本的には両方のライセンスの条件を満たす限り、商用目的および非商用目的で自由に入手・使用できます。
OpenSSLツールキットには以下が含まれます:
libssl.a: SSLv2、SSLv3、TLSv1の実装と、1つのサーバおよびクライアントでSSLv2、SSLv3、TLSv1の両方をサポートするために必要なコード。
libcrypto.a: SSL/TLSに必要だが、実際にはその一部ではない一般的な暗号化およびX.509 v1/v3関連の機能。以下のルーチンが含まれます:
暗号
libdes - EAYのlibdes DES暗号化パッケージ。数年間ネット上に存在し、後にSSLeayの一部として再ライセンスされました。15のDES「モード/バリエーション」(ecb、cbc、cfb、ofbの1、2、3キーバージョン、pcbcおよびcfbとofbのより一般的な形式)を含み、cbcモードのdesx、高速なcrypt(3)、キーボードからパスワードを読み取るルーチンも含まれます。
RC4暗号化、
RC2暗号化 - 4つの異なるモード:ecb、cbc、cfb、ofb。
Blowfish暗号化 - 4つの異なるモード:ecb、cbc、cfb、ofb。
IDEA暗号化 - 4つの異なるモード:ecb、cbc、cfb、ofb。
ダイジェスト
MD5およびMD2メッセージダイジェストアルゴリズム(高速実装)、
SHA(SHA-0)およびSHA-1メッセージダイジェストアルゴリズム、
MDC2メッセージダイジェスト。スマートカードで普及しているDESベースのハッシュ。
公開鍵
RSA暗号化/復号/生成。
ビット数に制限はありません。
DSA暗号化/復号/生成。
ビット数に制限はありません。
Diffie-Hellman鍵交換/鍵生成。
ビット数に制限はありません。
X.509v3証明書
X509のバイナリASN1との間のエンコード/デコード、および秘密鍵による暗号化をサポートするPEMベースのASCIIバイナリエンコード。RSAおよびDSA証明書要求の生成、RSAおよびDSA証明書の生成を行うプログラム。
システム
通常のデジタルエンベロールーチンとBase64エンコード。名前による暗号およびダイジェストへの高レベルアクセス。実行時に新しい暗号をロード可能。BIO IOシステムはシンプルなノンブロッキングIO抽象化。現在サポートされているメソッドは、ファイルディスクリプタ、ソケット、ソケット受け入れ、ソケット接続、メモリバッファ、バッファリング、SSLクライアント/サーバ、ファイルポインタ、暗号化、ダイジェスト、ノンブロッキングテスト、およびnull。
データ構造
動的に拡張するハッシュシステム、
シンプルなスタック、
MS .iniファイルに似た形式を使用する設定ローダー。
openssl: 以下のために使用できるコマンドラインツール: RSA、DH、DSA鍵パラメータの生成 X.509証明書、CSR、CRLの生成 メッセージダイジェストの計算 暗号による暗号化と復号 SSL/TLSクライアントおよびサーバテスト S/MIME署名付きまたは暗号化メールの処理
さまざまな企業が、世界中のさまざまな場所でさまざまなアルゴリズムに関する特許を保持しています。_あなた_は、使用するアルゴリズムがあなたの国で特許を侵害していないか確認し、法的に使用できることを保証する責任があります。このファイルには、当社が知っている、または存在が噂されている特許の一部が含まれています。これは決定的なリストではありません。
RSA SecurityはRC5アルゴリズムに関するソフトウェア特許を保持しています。この暗号を使用する場合は、ライセンス条件についてRSA Securityに連絡する必要があります。Webページは http://www.rsasecurity.com/ です。
RC4はRSA Securityの商標であるため、このラベルの使用はRSA Securityの許可を得た場合にのみ行うべきでしょう。
IDEAアルゴリズムは、オーストリア、フランス、ドイツ、イタリア、日本、オランダ、スペイン、スウェーデン、スイス、英国、米国においてAscom社によって特許取得されています。そのアルゴリズムを使用する場合は、同社に連絡する必要があります。Webページは http://www.ascom.ch/ です。
NTTと三菱はCamelliaアルゴリズムに関する特許および pending 特許を有していますが、明示的なライセンス契約を必要とせず無料で使用を許可しています: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
Unix系でこのパッケージをインストールするには、INSTALLファイルをお読みください。Win32プラットフォームの場合は、INSTALL.W32ファイルをお読みください。OpenVMSシステムの場合は、INSTALL.VMSをお読みください。
doc/ディレクトリのドキュメントをお読みください。かなり大雑把ですが、機能の一覧が記載されています。使用方法を理解するには、コードを見る必要があるでしょう。サンプルプログラムもご覧ください。
一部のプラットフォームでは、ユーザーやアプリケーション開発者に影響する既知の問題があります。それらはdoc/PROBLEMSにまとめてあり、OpenSSLの将来のバージョンでどのように解決すべきかについての現在の考えも含まれています。
商用テクニカルサポートの入手方法の詳細については、OpenSSL Webサイト www.openssl.org を参照してください。
OpenSSLに関して問題がある場合は、まず以下の手順を実行してください:
- 現在のスナップショットを ftp://ftp.openssl.org/snapshot/ からダウンロードし、問題が既に解決されているか確認する
- ASMバージョンのライブラリを削除する
- コンパイラの最適化フラグを削除する
バグを報告する場合は、バグレポートに以下の情報を含めてください:
- Unixシステムの場合:
'make report' で生成されたセルフテストレポート
- その他のシステムの場合:
OpenSSLバージョン: 'openssl version -a' の出力
OS名、バージョン、ハードウェアプラットフォーム
コンパイラの詳細(名前、バージョン)
- アプリケーションの詳細(名前、バージョン)
- 問題の説明(問題を再現する手順、既知の場合)
- スタックトレース(アプリケーションがコアダンプする場合)
バグは、リクエストトラッカー(http://www.openssl.org/support/rt.html)を介してOpenSSLプロジェクトにメールで報告してください:
リクエストトラッカーは、一般的な支援やサポートの問い合わせには使用すべきではないことに注意してください。期待通りに動作しないからといって、必ずしもそれがOpenSSLのバグであるとは限りません。
[email protected] 宛のメールは公開リクエストトラッカーデータベースに記録され、公開メーリングリストに転送されることに注意してください。機密メールは [email protected] に送信できます(PGPキーはキーサーバーから入手可能です)。
開発は openssl-dev メーリングリストで調整されています(購読情報については http://www.openssl.org を参照)。パッチを送信したい場合は、件名に "[PATCH]" を付けて [email protected] に送信してください。パッチの内容を説明するテキストを必ず含めてください。
機能が一般のOpenSSLコミュニティにとって有用かどうか不明な場合は、まず openssl-dev メーリングリストで議論してください。誰かが既に同じ作業に取り組んでいるか、その機能が実装されていない正当な理由があるかもしれません。
パッチは可能な限り最新のものである必要があり、できれば現在のGitまたは最後のスナップショットを基準にしてください。また、OpenSSLのコーディングスタイルに従い、警告なくコンパイルできる必要があります。コアチームの開発者ターゲットの一部(debug-steve64、debug-geoffなど)をテスト目的で使用できます。OpenSSLは多様なプラットフォームでコンパイルされるため、ポータブルな機能のみを使用するようにしてください。
注:法的理由により、米国からの貢献は、TSU通知とパッチのコピーが [email protected](旧BXA)に送信され、さらにENC暗号化リクエストコーディネーターにコピーが送信された場合のみ受け入れられます。詳細については、以下を参照してください: http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [sic] および http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EARセクション740.13(e)) 「暗号化ソースコードが大きすぎて電子メールの添付ファイルとして送信できない」場合、代わりにFAXで送信することも受け付けています。格安の長距離電話プランをお持ちであることを願います。
変更点の推奨形式は "diff -u" 出力です。次のように生成できます: