
SSL/TLSプロトコル、対称/非対称暗号化、メッセージダイジェスト、デジタル証明書、およびX.509 PKIインフラストラクチャを実装する包括的なオープンソース暗号ライブラリ。
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の一部として彼によって再ライセンス
されました。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との間のX509エンコード/デコード、および秘密鍵による
暗号化をサポートする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に連絡する必要が あります。彼らのウェブページは 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プロジェクトに報告してください:
リクエストトラッカーは、一般的な支援やサポートの問い合わせに使用すべきでは ないことに注意してください。何かが期待どおりに動作しないからといって、それが 必ずしも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 [原文ママ] および http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EARセクション740.13(e)) 「暗号化ソースコードがメールの添付ファイルとして提供するには大きすぎる」場合、 代わりにファックスで受け取ってもらえます。格安の長距離電話プランをお持ちで あることを願います。
変更の推奨形式は"diff -u"出力です。次のように生成できます: