
汎用暗号ライブラリおよび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 無断転載を禁じます。
The 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(ecb、cbc、cfb、ofbの1、2、3キー版)の15の「モード/バリエーション」が含まれます。
(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に連絡する必要があります。RSA Securityのウェブページは http://www.rsasecurity.com/ です。
RC4はRSA Securityの商標であるため、このラベルはおそらくRSA Securityの許可を得た場合にのみ使用すべきです。
IDEAアルゴリズムは、オーストリア、フランス、ドイツ、イタリア、日本、オランダ、スペイン、スウェーデン、 スイス、英国、米国のAscomによって特許を取得されています。そのアルゴリズムを使用する場合は、 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のバグであるとは限りません。
[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暗号化要求コーディネーターにコピーが送信された場合にのみ受け付けられます。 詳細については、以下のURLを確認してください: 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" 出力です。次のように生成できます: