
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 の実装、および SSLv2、SSLv3、TLSv1 の 両方を1つのサーバーとクライアントでサポートするために必要なコード。
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 証明書
バイナリ ASN1 および秘密鍵による暗号化をサポートする PEM ベースの
ASCII バイナリエンコーディングとの間で X509 をエンコード/デコードします。
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 に連絡する必要があります。 彼らのウェブページは 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 を介して OpenSSL プロジェクトに (http://www.openssl.org/support/rt.html)メールで報告してください:
Request Tracker は、一般的な支援やサポートの問い合わせに使用すべきではないことに注意してください。 期待どおりに動作しないからといって、 それが必ずしも OpenSSL のバグであるとは限りません。
[email protected] へのメールは、公に閲覧可能な request tracker データベースに記録され、 公開メーリングリストに転送されることに注意してください。 機密メールは [email protected] に送信できます。 (PGP キーはキーサーバーから入手できます)。
開発は openssl-dev メーリングリストで調整されています( 購読情報は http://www.openssl.org を参照)。 パッチを提出する場合は、[email protected] に 件名に "[PATCH]" を付けて送信してください。 パッチが何を行うかのテキストでの説明を必ず含めてください。
機能が一般的な OpenSSL コミュニティにとって有用かどうか不明な場合は、 まず openssl-dev メーリングリストで議論してください。 すでに誰かが同じ作業をしているか、その機能が実装されていない 正当な理由があるかもしれません。
パッチはできるだけ最新の状態にし、できれば現在の Git または 最後のスナップショットを基準にしてください。OpenSSL のコーディングスタイルに従い、 警告なしでコンパイルできる必要があります。コアチームの開発者ターゲットの一部は テスト目的で使用できます(debug-steve64、debug-geoff など)。OpenSSL は多くの多様なプラットフォームでコンパイルされるため、ポータブルな機能のみを 使用するようにしてください。
注:法的な理由により、米国からの貢献が受け入れられるのは、 TSU 通知とパッチのコピーが [email protected] (旧 BXA)に送信され、ENC Encryption Request Coordinator にコピーが送信された場合のみです。 少し時間を取って以下を確認してください。 http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [sic] および http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EAR Section 740.13(e)) 詳細については。暗号化ソースコードが電子メールの添付ファイルとして提供するには大きすぎる」場合は、 代わりにファックスで受け取ってもらえるとのことです。 お手頃な長距離通話プランをお持ちであることを願います。
変更の推奨形式は "diff -u" 出力です。 次のように生成できます: