コマンドラインのマニュアル

Man » openssl マニュアルオンライン - openssl マニュアルページの詳細なオンラインドキュメント

🌍
openssl - OpenSSL コマンドラインプログラム

構文

openssl コマンド [ オプション ... ] [ パラメータ ... ]

openssl no-XXX [ オプション ]

openssl -help | -version

説明

OpenSSL は、SSL (セキュアソケットレイヤー) および TLS (トランスポート層セキュリティ) ネットワークプロトコルと、それらによって必要とされる関連する暗号化標準を実装する暗号化ツールキットです。

openssl プログラムは、OpenSSL の暗号ライブラリのさまざまな暗号化機能をシェルから使用するためのコマンドラインプログラムです。これを使用して、次の操作を実行できます。

o   秘密鍵、公開鍵、およびパラメータの作成と管理
o   公開鍵暗号演算
o   X.509 証明書、CSR、および CRL の作成
o   メッセージダイジェストとメッセージ認証コードの計算
o   暗号による暗号化と復号
o   SSL/TLS クライアントおよびサーバーのテスト
o   S/MIME で署名または暗号化されたメールの処理
o   タイムスタンプリクエスト、生成、および検証

コマンドの概要

openssl プログラムは、さまざまなコマンドを提供します (上記の「構文」の「コマンド」)。各コマンドには、多くのオプションと引数パラメータがあり、上記ではオプションとパラメータとして示されています。

ほとんどの標準サブコマンドの詳細なドキュメントと使用例があります (例: openssl-x509(1))。サブコマンドを一覧表示するには、openssl-list(1) サブコマンドを使用できます。

no-XXX コマンドは、指定された名前のコマンドが利用可能かどうかをテストします。no-XXX という名前のコマンドが存在しない場合、0 (成功) を返し、no-XXX を出力します。それ以外の場合は、1 を返し、XXX を出力します。どちらの場合も、出力は stdout に送信され、stderr には何も出力されません。追加のコマンドライン引数は常に無視されます。各暗号には同じ名前のコマンドがあるため、シェルスクリプトで openssl プログラムで使用できる暗号を簡単にテストできます。(no-XXX は、quit、list、または no-XXX 自体などの擬似コマンドを検出することはできません)。

構成オプション

多くのコマンドは、一部またはすべての引数に外部構成ファイルを使用し、-config オプションを使用してそのファイルを指定します。デフォルトのファイル名は openssl.cnf で、これはデフォルトの証明書ストレージ領域にあります。openssl-version(1) コマンドの -d または -a オプションを使用して、この領域を決定できます。環境変数 OPENSSL_CONF を使用して、別のファイル場所を指定するか、構成ファイルのロードを無効にすることができます (空の文字列を使用します)。

構成ファイルは、モジュールをロードしたり、証明書と乱数を生成するためのパラメータを指定したりするために使用できます。詳細は config(5) を参照してください。

標準コマンド

asn1parse

ASN.1 シーケンスを解析します。


ca 認証局 (CA) の管理。

ciphers
暗号スイートの説明の決定。

cms CMS (暗号メッセージ構文) コマンド。

crl 証明書失効リスト (CRL) の管理。

crl2pkcs7
CRL から PKCS#7 への変換。

dgst
メッセージダイジェストの計算。MAC の計算は openssl-mac(1) に置き換えられました。

dhparam
Diffie-Hellman パラメータの生成および管理。openssl-genpkey(1) および openssl-pkeyparam(1) に置き換えられました。

dsa DSA データ管理。

dsaparam
DSA パラメータの生成および管理。openssl-genpkey(1) および openssl-pkeyparam(1) に置き換えられました。

ec EC (楕円曲線) キー処理。

ecparam
EC パラメータの操作と生成。

enc 暗号化、復号化、およびエンコード。

engine
エンジン (ロード可能なモジュール) 情報と操作。

errstr
エラー番号からエラー文字列への変換。

fipsinstall
FIPS 構成のインストール。

gendsa
パラメータから DSA 秘密鍵の生成。openssl-genpkey(1) および openssl-pkey(1) に置き換えられました。

genpkey
秘密鍵またはパラメータの生成。

genrsa
RSA 秘密鍵の生成。openssl-genpkey(1) に置き換えられました。

help
コマンドのオプションに関する情報を表示します。

info
OpenSSL ライブラリに組み込まれているさまざまな情報を表示します。

kdf キー派生関数。

list
アルゴリズムと機能を一覧表示します。

mac メッセージ認証コードの計算。

nseq
Netscape 証明書シーケンスの作成または確認。

ocsp
オンライン証明書ステータスプロトコルコマンド。

passwd
ハッシュ化されたパスワードの生成。

pkcs12
PKCS#12 データ管理。

pkcs7
PKCS#7 データ管理。

pkcs8
PKCS#8 形式の秘密鍵変換コマンド。

pkey
公開鍵と秘密鍵の管理。

pkeyparam
公開鍵アルゴリズムパラメータの管理。

pkeyutl
公開鍵アルゴリズムの暗号化操作コマンド。

prime
素数を計算します。

rand
疑似乱数を生成します。

rehash
ハッシュ値で名前が付けられた証明書と CRL ファイルへのシンボリックリンクを作成します。

req PKCS#10 X.509 証明書署名要求 (CSR) 管理。

rsa RSA キー管理。

rsautl
署名、検証、暗号化、および復号のための RSA コマンド。openssl-pkeyutl(1) に置き換えられました。

s_client
これは、SSL/TLS を使用してリモートサーバーとの透過的な接続を確立できる汎用 SSL/TLS クライアントを実装します。これはテスト目的のみを目的としており、基本的なインターフェイス機能のみを提供しますが、内部的には OpenSSL ssl ライブラリのほとんどすべての機能を使用します。

s_server
これは、SSL/TLS を使用してリモートクライアントからの接続を受け入れる汎用 SSL/TLS サーバーを実装します。これはテスト目的のみを目的としており、基本的なインターフェイス機能のみを提供しますが、内部的には OpenSSL ssl ライブラリのほとんどすべての機能を使用します。これは、SSL 関数のテストのための独自のコマンドライン指向のプロトコルと、SSL/TLS を認識した Web サーバーをエミュレートするための単純な HTTP 応答機能を提供します。

s_time
SSL接続タイマー。

sess_id
SSLセッションデータ管理。

smime
S/MIMEメール処理。

speed
アルゴリズム速度測定。

spkac
SPKAC印刷および生成コマンド。

srp
SRPパスワードファイルを維持します。このコマンドは非推奨です。

storeutl
証明書、キー、CRLなどをリスト表示および表示するコマンド。

ts
タイムスタンプ認証局コマンド。

verify
X.509証明書検証。 openssl-verification-options(1)のマニュアルページも参照してください。

version
OpenSSLバージョン情報。

x509
X.509証明書データ管理。

メッセージダイジェストコマンド

blake2b512
BLAKE2b-512ダイジェスト

blake2s256
BLAKE2s-256ダイジェスト

md2
MD2ダイジェスト

md4
MD4ダイジェスト

md5
MD5ダイジェスト

mdc2
MDC2ダイジェスト

rmd160
RMD-160ダイジェスト

sha1
SHA-1ダイジェスト

sha224
SHA-2 224ダイジェスト

sha256
SHA-2 256ダイジェスト

sha384
SHA-2 384ダイジェスト

sha512
SHA-2 512ダイジェスト

sha3-224
SHA-3 224ダイジェスト

sha3-256
SHA-3 256ダイジェスト

sha3-384
SHA-3 384ダイジェスト

sha3-512
SHA-3 512ダイジェスト

keccak-224
KECCAK 224ダイジェスト

keccak-256
KECCAK 256ダイジェスト

keccak-384
KECCAK 384ダイジェスト

keccak-512
KECCAK 512ダイジェスト

shake128
SHA-3 SHAKE128ダイジェスト

shake256
SHA-3 SHAKE256ダイジェスト

sm3
SM3ダイジェスト

暗号化、復号化、およびエンコードコマンド

次のエイリアスは、最も一般的に使用されるエンコードおよび暗号への便利なアクセスを提供します。

OpenSSLの構成およびビルド方法によっては、ここにリストされているすべての暗号が存在するとは限りません。 詳細は openssl-enc(1) を参照してください。

aes128, aes-128-cbc, aes-128-cfb, aes-128-ctr, aes-128-ecb, aes-128-ofb
AES-128暗号

aes192, aes-192-cbc, aes-192-cfb, aes-192-ctr, aes-192-ecb, aes-192-ofb
AES-192暗号

aes256, aes-256-cbc, aes-256-cfb, aes-256-ctr, aes-256-ecb, aes-256-ofb
AES-256暗号

aria128, aria-128-cbc, aria-128-cfb, aria-128-ctr, aria-128-ecb, aria-128-ofb
Aria-128暗号

aria192, aria-192-cbc, aria-192-cfb, aria-192-ctr, aria-192-ecb, aria-192-ofb
Aria-192暗号

aria256, aria-256-cbc, aria-256-cfb, aria-256-ctr, aria-256-ecb, aria-256-ofb
Aria-256暗号

base64
Base64エンコード

bf, bf-cbc, bf-cfb, bf-ecb, bf-ofb
Blowfish暗号

camellia128, camellia-128-cbc, camellia-128-cfb, camellia-128-ctr, camellia-128-ecb,
camellia-128-ofb
Camellia-128暗号

camellia192, camellia-192-cbc, camellia-192-cfb, camellia-192-ctr, camellia-192-ecb,
camellia-192-ofb
Camellia-192暗号

camellia256, camellia-256-cbc, camellia-256-cfb, camellia-256-ctr, camellia-256-ecb,
camellia-256-ofb
Camellia-256暗号

cast, cast-cbc
CAST暗号

cast5-cbc, cast5-cfb, cast5-ecb, cast5-ofb
CAST5暗号

chacha20
Chacha20暗号

des, des-cbc, des-cfb, des-ecb, des-ede, des-ede-cbc, des-ede-cfb, des-ede-ofb, des-ofb
DES暗号

des3, desx, des-ede3, des-ede3-cbc, des-ede3-cfb, des-ede3-ofb
Triple-DES暗号

idea, idea-cbc, idea-cfb, idea-ecb, idea-ofb
IDEA暗号

rc2, rc2-cbc, rc2-cfb, rc2-ecb, rc2-ofb
RC2暗号

rc4
RC4暗号

rc5, rc5-cbc, rc5-cfb, rc5-ecb, rc5-ofb
RC5暗号

seed, seed-cbc, seed-cfb, seed-ecb, seed-ofb
SEED 暗号

sm4, sm4-cbc, sm4-cfb, sm4-ctr, sm4-ecb, sm4-ofb
SM4 暗号

オプション

利用可能なオプションの詳細については、特定のコマンドによって異なります。このセクションでは、一般的なオプションとその一般的な動作について説明します。

プログラムオプション

コマンドを指定せずにこれらのオプションを指定すると、ヘルプまたはバージョン情報が表示されます。

-help
すべてのオプションの簡潔な概要を表示します。詳細な情報については、各コマンドには -help オプションがあります。--help も使用できます。

-version
OpenSSL プログラムの簡潔なバージョン概要を表示します。詳細については、openssl-version(1) を参照してください。--version も使用できます。

共通オプション

-help
オプションが引数を受け取る場合、引数の「型」も示されます。

--
これはオプションのリストを終了します。これは、ファイル名のパラメーターがすべてハイフンで始まる場合に役立ちます。

openssl verify [フラグ...] -- -cert1.pem...

フォーマットオプション

openssl-format-options(1) のマニュアルページを参照してください。

パスフレーズオプション

openssl-passphrase-options(1) のマニュアルページを参照してください。

ランダム状態オプション

OpenSSL 1.1.1 より前は、アプリケーションがランダム番号ジェネレーターの状態に関する情報をファイルに保存し、起動時にロードして終了時に書き換えることが一般的でした。
最新のオペレーティングシステムでは、これは通常必要なくなりました。OpenSSL はオペレーティングシステムによって提供される信頼できるエントロピーソースから自身をシードします。これらのフラグは、
特殊なプラットフォームや、それらを必要とする可能性のある状況のために、今でもサポートされています。

-rand ファイルを 1 回以上使用することは通常エラーであり、-rand のすべての使用は -writerand とペアにする必要があります。

-rand ファイル
ランダム番号ジェネレーターのシードとして使用されるランダムデータを含むファイルまたはファイル。複数のファイルは、OS 依存の文字で区切って指定できます。セパレーターは、MSWindows の場合は ";"、OpenVMS の場合は "、"、およびその他の場合は ":" です。別の方法は、
異なるファイル名でこのフラグを繰り返すことです。

-writerand ファイル
終了時に、指定されたファイルにシードデータを書き込みます。このファイルは、後続のコマンドの呼び出しで使用できます。

証明書検証オプション

openssl-verification-options(1) のマニュアルページを参照してください。

名前のフォーマットオプション

openssl-namedisplay-options(1) のマニュアルページを参照してください。

TLS バージョンオプション

いくつかのコマンドは SSL、TLS、または DTLS を使用します。デフォルトでは、これらのコマンドは TLS を使用し、クライアントはサポートする最も低いバージョンと最も高いバージョンを提供し、サーバーはクライアントが提供するサポートされているバージョンの中で最も高いバージョンを選択します。

次のオプションを使用して、使用するプロトコルバージョンを制限し、TCP(SSL および TLS)または UDP(DTLS)を使用するかどうかを指定できます。ただし、OpenSSL のビルド方法によっては、すべてのプロトコルとフラグが利用可能になるとは限りません。

-ssl3, -tls1, -tls1_1, -tls1_2, -tls1_3, -no_ssl3, -no_tls1, -no_tls1_1, -no_tls1_2, -no_tls1_3
これらのオプションは、指定された SSL または TLS プロトコルの使用を要求または無効にします。特定の TLS バージョンが要求される場合、そのバージョンのみが提供または受け入れられます。特定のプロトコルは 1 つだけ指定でき、no_\* オプションと組み合わせることはできません。
no_* オプションは、s_time コマンドや ciphers コマンドでは機能しませんが、s_client コマンドと s_server コマンドでは機能します。

-dtls, -dtls1, -dtls1_2

これらのオプションは、TLSの代わりにDTLSを使用することを指定します。-dtlsを使用すると、クライアントはサポートされているDTLSプロトコルバージョンをネゴシエートします。-dtls1または-dtls1_2オプションを使用して、DTLS1.0またはDTLS1.2のみをサポートします。

エンジンオプション

-engine id

idで識別されるエンジンをロードし、エンジンが実装するすべてのメソッド(アルゴリズム、キーの保存など)を使用します。ただし、コマンド固有のドキュメントで指定された場合、または「Engine Configuration」で説明されているように構成されている場合は除きます。

エンジンは、-keyなどのオプションで指定されたキーIDで使用され、-keyform engineのようなオプションが与えられた場合に使用されます。

特別なケースとして、「loader_attic」エンジンがあり、これはOpenSSLの内部テスト専用であり、ファイルからキー、パラメータ、証明書、およびCRLをロードすることをサポートします。「file:」スキーマの使用はオプションであり、プレーンなファイル(パス)名でも構いません。

-keyなどのキーを指定するオプションは、汎用のOpenSSLエンジンキーロードURIスキーム「org.openssl.engine:」を使用して、プライベートキーとパブリックキーを取得できます。URIの構文は次のとおりです(簡略化された形式)。

org.openssl.engine:{engineid}:{keyid}

ここで、「{engineid}」はエンジンのID/名前であり、「{keyid}」はそのエンジンが受け入れるキー識別子です。たとえば、PKCS#11実装とインターフェースするエンジンを使用する場合、汎用のキーURIは次のようになります(これは、OpenSCの一部であるPKCS#11エンジンを使用した例です)。

-key org.openssl.engine:pkcs11:label_some-private-key

3番目の可能性として、独自のOSSL_STORE_LOADER(3)を実装したエンジンとプロバイダーの場合、「org.openssl.engine:」は必要ありません。PKCS#11実装がそのようなローダーを実装している場合、RFC 7512で定義されているPKCS#11 URIを直接使用できます。

-key pkcs11:object=some-private-key;pin-value=1234

プロバイダーオプション

-provider name

指定された名前でプロバイダーをロードおよび初期化します。名前はプロバイダーモジュールのパスでもかまいません。その場合、プロバイダー名は指定されたパスであり、プロバイダーモジュール名だけではありません。相対パスの解釈はプラットフォームによって異なります。「MODULESDIR」パス、OPENSSL_MODULES環境変数、または-provider-pathで指定されたパスが、相対パスの先頭に追加されます。provider(7)を参照して、より詳細な説明を確認してください。


-provider-path パス

プロバイダーを検索するために使用する検索パスを指定します。または、環境変数 OPENSSL_MODULES を設定することもできます。

-provparam [名前:]キー=値

プロバイダー名 (オプション) の構成パラメータ キー に設定します。名前が指定されていない場合、設定はロードされたすべてのプロバイダーに適用されます。オプションで非デフォルトのプロバイダーをロードする場合は、設定を適用するプロバイダーに適用されるように、このオプションをその前に指定する必要があります。プロバイダーの初期化にのみ影響を与えるパラメータは、現時点では構成ファイルに設定する必要があります。構成ファイルに設定できるのは、必要に応じて後でクエリされるパラメータのみです。サポートされているパラメータについては、特定のプロバイダーとその関連するアルゴリズムのドキュメントを参照してください。UTF8文字列値のパラメータのみがサポートされます。

-propquery propq

ロードされたプロバイダーからアルゴリズムを取得するときに使用するプロパティクエリ句を指定します。詳細については、property(7) を参照してください。

環境

OpenSSLライブラリは、いくつかの構成パラメータを環境から受け取ることができます。

OpenSSLライブラリで使用されるすべての環境変数 (例: OPENSSL_CONFOPENSSL_MODULESOPENSSL_TRACE) に関する情報は、openssl-env(7) を参照してください。

環境変数を使用した構成については、config(5) の「ENVIRONMENT」セクションを参照してください。

特定のコマンドに関する情報は、openssl-engine(1)、openssl-rehash(1)、および tsget(1) を参照してください。

CPUアーキテクチャフラグのクエリまたは指定については、OPENSSL_ia32cap(3)OPENSSL_s390xcap(3)、および OPENSSL_riscvcap(3) を参照してください。

関連項目

openssl-asn1parse(1)、openssl-ca(1)、openssl-ciphers(1)、openssl-cms(1)、openssl-crl(1)、openssl-crl2pkcs7(1)、openssl-dgst(1)、openssl-dhparam(1)、openssl-dsa(1)、openssl-dsaparam(1)、openssl-ec(1)、openssl-ecparam(1)、openssl-enc(1)、openssl-engine(1)、openssl-errstr(1)、openssl-gendsa(1)、openssl-genpkey(1)、openssl-genrsa(1)、openssl-kdf(1)、openssl-list(1)、openssl-mac(1)、openssl-nseq(1)、openssl-ocsp(1)、openssl-passwd(1)、openssl-pkcs12(1)、openssl-pkcs7(1)、openssl-pkcs8(1)、openssl-pkey(1)、openssl-pkeyparam(1)、openssl-pkeyutl(1)、openssl-prime(1)、openssl-rand(1)、openssl-rehash(1)、openssl-req(1)、openssl-rsa(1)、openssl-rsautl(1)、openssl-s_client(1)、openssl-s_server(1)、openssl-s_time(1)、openssl-sess_id(1)、openssl-smime(1)、openssl-speed(1)、openssl-spkac(1)、openssl-srp(1)、openssl-storeutl(1)、openssl-ts(1)、openssl-verify(1)、openssl-version(1)、openssl-x509(1)、config(5)、crypto(7)、openssl-env(7)、ssl(7)、x509v3_config(5)

履歴

^ XXX-algorithms オプションは OpenSSL 1.0.0 で追加されました。他のコマンドの可用性に関する注意事項については、それぞれのマニュアルページを参照してください。


^ issuer_checks オプションは、OpenSSL 1.1.0 以降で非推奨となり、無視されます。

^ xcertform および -xkeyform オプションは、OpenSSL 3.0 以降では廃止され、効果がありません。

引数なしで "openssl" を実行することで呼び出せるインタラクティブモードは、OpenSSL 3.0 で削除され、プログラムを引数なしで実行すると "openssl help" と同じになります。

著作権

Copyright 2000-2025 The OpenSSL Project Authors. All Rights Reserved.

Apache License 2.0 (「ライセンス」) の下でライセンスされています。このファイルは、ライセンスに準拠する場合に限り使用できます。コピーは、ソース配布の LICENSE ファイル、または [https://www.openssl.org/source/license.html] で入手できます。