
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 Projectは、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の一部として再ライセンスされました。DESの15の「モード/バリエーション」(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抽象化です。現在サポートされているメソッドは、ファイルディスクリプター、ソケット、ソケット受け入れ、ソケット接続、メモリバッファー、バッファリング、SSLクライアント/サーバー、ファイルポインター、暗号化、ダイジェスト、非ブロッキングテスト、nullです。
データ構造
動的に拡張されるハッシュシステム
シンプルなスタック。
MS .iniファイルに似た形式を使用する設定ローダー。
openssl: 以下の目的で使用できるコマンドラインツール: RSA、DH、DSA鍵パラメータの生成 X.509証明書、CSR、CRLの生成 メッセージダイジェストの計算 暗号による暗号化と復号化 SSL/TLSクライアントおよびサーバーテスト S/MIME署名付きまたは暗号化メールの処理
さまざまな企業が、世界中のさまざまな場所でさまざまなアルゴリズムに関するさまざまな特許を保有しています。_あなた_は、使用するアルゴリズムが法的に問題ないかどうかを、自国の特許を確認して保証する責任があります。このファイルには、私たちが知っている、または存在が噂されている特許の一部が含まれています。これは決定的なリストではありません。
RSA SecurityはRC5アルゴリズムに関するソフトウェア特許を保有しています。この暗号を使用する場合は、ライセンス条件についてRSA Securityに連絡する必要があります。同社のウェブページは http://www.rsasecurity.com/ です。
RC4はRSA Securityの商標です。したがって、このラベルの使用はRSA Securityの許可を得た場合にのみ行うべきです。
IDEAアルゴリズムは、オーストリア、フランス、ドイツ、イタリア、日本、オランダ、スペイン、スウェーデン、スイス、英国、米国においてAscomが特許を保有しています。このアルゴリズムを使用する場合は、同社に連絡する必要があります。ウェブページは http://www.ascom.ch/ です。
NTTおよび三菱はCamelliaアルゴリズムに関する特許および出願中の特許を保有していますが、明示的なライセンス契約を必要とせず無料で使用を許可しています: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
Unix派生システムにこのパッケージをインストールするには、INSTALLファイルをお読みください。Win32プラットフォームの場合は、INSTALL.W32ファイルをお読みください。OpenVMSシステムの場合は、INSTALL.VMSをお読みください。
doc/ディレクトリのドキュメントをお読みください。かなり荒削りですが、関数の一覧があります。使用方法を理解するには、コードを見る必要があるかもしれません。サンプルプログラムをご覧ください。
一部のプラットフォームでは、ユーザーやアプリケーション作成者に影響を与える可能性のある既知の問題があります。これらの問題はdoc/PROBLEMSにまとめ、OpenSSLの将来のバージョンでどのように解決すべきかについての現在の考えを記載しています。
商用テクニカルサポートの入手方法の詳細については、OpenSSLウェブサイト www.openssl.org をご覧ください。
OpenSSLに関して問題がある場合は、まず以下の手順を実行してください:
- 現在のスナップショットを ftp://ftp.openssl.org/snapshot/ からダウンロードし、問題が既に対処されているか確認する
- ASMバージョンのライブラリを削除する
- コンパイラの最適化フラグを削除する
バグを報告する場合は、バグレポートに以下の情報を含めてください:
- Unixシステムの場合:
'make report' で生成された自己テストレポート
- その他のシステムの場合:
OpenSSLバージョン: 'openssl version -a' の出力
OS名、バージョン、ハードウェアプラットフォーム
コンパイラの詳細(名前、バージョン)
- アプリケーションの詳細(名前、バージョン)
- 問題の説明(問題を再現する手順、既知の場合)
- スタックトレースバック(アプリケーションがコアダンプする場合)
バグは、Request Tracker(http://www.openssl.org/support/rt.html)経由でOpenSSLプロジェクトにメールで報告してください:
Request Trackerは一般的な支援やサポートの問い合わせに使用すべきではないことに注意してください。何かが期待通りに動作しないからといって、必ずしもOpenSSLのバグであるとは限りません。
[email protected] へのメールは公開されたRequest Trackerデータベースに記録され、公開メーリングリストに転送されることに注意してください。機密メールは [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 Section 740.13(e)) 「暗号化ソースコードがメールの添付ファイルとして大きすぎる」場合は、FAXで送信することも歓迎します。格安の長距離電話プランがあることを願っています。
変更の推奨形式は "diff -u" 出力です。以下のように生成できます: