OpenSSL (http://www.openssl.org) のコマンド (openssl) の一覧と,openssl を使った公開鍵証明書の主な操作の方法を示します.
Windows版の OpenSSL は,http://www.slproweb.com/products/Win32OpenSSL.html にあります.
asn1parse | ASN.1 データの解析・表示 |
ca | CA(公開鍵亜証明書)の操作 |
ciphers | SSL/TLS で使用できる暗号スイート一覧の表示 |
cms | CMS(暗号メッセージシンタックス) ユーティリティ |
crl | 証明書取消リスト (CRL) の操作 |
crl2pkcs7 | 証明書取消リスト (CRL) を PKCS#7 形式に変換 |
dgst | メッセージダイジェストの計算 |
dhparam | Diffie-Hellman パラメータの生成・管理 |
dsa | DSA データの処理 |
dsaparam | DSA パラメータの生成・管理 |
ec | 楕円曲線暗号鍵の操作 |
ecparam | 楕円曲線暗号パラメータの生成・管理 |
enc | 暗号化処理 |
errstr | エラー番号をエラー文字列に変換 |
gendsa | DSA 秘密鍵を生成 |
genpkey | 秘密鍵またはパラメータの生成 |
genrsa | RSA 秘密鍵の生成 |
passwd | UNIX パスワードの生成 |
pkcs12 | PKCS#12 形式の操作 |
pkcs7 | PKCS#7 形式の操作 |
pkcs8 | PKCS#8 形式の操作 |
pkey | 秘密鍵と公開鍵の管理 |
pkeyparam | 公開鍵暗号アルゴリズムパラメータの管理 |
rand | 擬似乱数データの生成 |
req | PKCS#10 (証明書発行要求)形式 の操作 |
rsa | RSA 鍵の管理 |
rsautl | RSA による暗号化・復号,署名生成・検証 |
s_client | SSL/TLS で指定サーバに接続 |
s_server | SSL/TLS でデータを受け付けるサーバとして動作 |
s_time | SSL/TLS コネクションタイマ |
sess_id | SSL/TLS セッションデータ管理 |
smime | S/MIME メール操作 |
speed | 暗号アルゴリズム性能の測定 |
verify | X.509 公開鍵証明書の検証 |
version | OpenSSL のバージョン表示 |
x509 | X.509 公開鍵証明書の操作 |
その他 | その他の操作 |
X509公開鍵証明書の発行要求(CSR: Certificate Signing Request)に関する操作を行う.
openssl req -new -keyout key.pem -out cetreq.pem openssl req -newkey rsa:1024 -keyout key.pem -out certreq.pem
openssl genrsa -out key.pem 1024 openssl req -new -key key.pem -out certreq.pem
openssl req -verify -in certreq.pem
openssl req -verify -in certreq.pem -key key.pem
openssl req -text -in certreq.pem
openssl req -in certreq.pem -text -verify -noout
openssl req -x509 -newkey rsa:1024 -keyout key.pem -out cert.pem
openssl req -x509 -in req.pem -key key.pem -out cert.pem
X509公開鍵証明書に関する操作を行う.
openssl x509 -in cert.pem -noout -text
openssl x509 -in cert.pem -noout -serial
openssl x509 -in cert.pem -noout -subject
openssl x509 -in cert.pem -noout -subject -nameopt RFC2253
openssl x509 -sha1 -in cert.pem -noout -fingerprint
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
openssl x509 -x509toreq -in cert.pem -out req.pem -signkey key.pem
openssl x509 -req -in careq.pem -extfile openssl.cfg -extensions v3_ca -signkey key.pem -out cacert.pem
DER形式またはPEM形式の PKCS#7ファイルを操作する.
openssl pkcs7 -in file.pem -outform DER -out file.der
openssl pkcs7 -in file.pem -print_certs -out certs.pem
PKCS#8ファイルに関する操作を行う.
openssl pkcs8 -in key.pem -topk8 -v2 des3 -out enckey.pem
openssl pkcs8 -in key.pem -topk8 -out enckey.pem
openssl pkcs8 -in key.pem -topk8 -out enckey.pem -v1 PBE-SHA1-3DES
openssl pkcs8 -inform DER -nocrypt -in key.der -out key.pem
openssl pkcs8 -in pk8.pem -out key.pem
PKCS#12ファイルに関する操作を行う.
openssl pkcs12 -in file.p12 -out file.pem
openssl pkcs12 -in file.p12 -clcerts -out file.pem
openssl pkcs12 -in file.p12 -info -noout
openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate"
openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate"-certfile othercerts.pem
公開鍵証明書に関する操作を行う.
openssl ca -in req.pem -out newcert.pem
openssl ca -in req.pem -extensions v3_ca -out newcert.pem
openssl ca -gencrl -config openssl.cfg -out crl.pem
openssl ca -infiles req1.pem req2.pem req3.pem
失効リストと証明書から PKCS#7ファイルを生成する.
openssl crl2pkcs7 -in crl.pem -certfile cert.pem -out p7.pem
openssl crl2pkcs7 -nocrl -certfile cacert_1.pem -certfile cacert_2.pem -outform DER -out p7.der
openssl rsa -noout -text -in priKey.pem
openssl rsa -noout -text -in pubKey.pem -pubin
openssl dsaparam -noout -text -in dsa.prm
openssl crl -noout -text -in crl_name.pem
openssl asn1parse -inform DER -in keycert.p12
openssl ciphers -v openssl ciphers -v "AES" openssl ciphers -v "!ADH:RC4+RSA:HIGH:MEDIUM:LOW:EXP:+SSLv2:+EXP"
openssl dgst [-md5|-md2|-sha1|-sha|mdc2|-ripemd160] [-c] [-d] [file...]
openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] [-d] [-a] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-p] [-P] [-bufsize number] [-debug]