はじめのいっぽ  ページ一覧  更新履歴

verify(1)

 =pod
 
 =head1 NAME

NAME

 verify - Utility to verify certificates.

verify - 証明書検証ユーティリティ

 =head1 SYNOPSIS

SYNOPSIS

 B<openssl> B<verify>
 [B<-CApath directory>]
 [B<-CAfile file>]
 [B<-purpose purpose>]
 [B<-untrusted file>]
 [B<-help>]
 [B<-issuer_checks>]
 [B<-verbose>]
 [B<->]
 [certificates]
 
 =head1 DESCRIPTION

DESCRIPTION

 The B<verify> command verifies certificate chains.

verify コマンドは証明書チェーンを検証する。

 =head1 COMMAND OPTIONS

COMMAND OPTIONS

 =over 4
 
 =item B<-CApath directory>
 
 A directory of trusted certificates. The certificates should have names
 of the form: hash.0 or have symbolic links to them of this
 form ("hash" is the hashed certificate subject name: see the B<-hash> option
 of the B<x509> utility). Under Unix the B<c_rehash> script will automatically
 create symbolic links to a directory of certificates.

-CApath directory

信頼された証明書のためのディレクトリ。証明書はフォーム (hash.0 あるいはこのフォームの hash.0 へのリンク) の名前を持たなければならない("hash" は、証明書の subject name (所有者名) のハッシュである。詳細は x509 ユーティリティの -hash オプションを参照の事)。Unix の場合、c_rehash スクリプトを利用すれば、ディレクトリ内の証明書のシンボリックリンクが自動的に作成される。

 =item B<-CAfile file>
 
 A file of trusted certificates. The file should contain multiple certificates
 in PEM format concatenated together.

-CAfile file

信頼された証明書を格納するファイル。ファイルには PEM フォーマットの複数の証明書を連結して記述できる。

 =item B<-untrusted file>
 
 A file of untrusted certificates. The file should contain multiple certificates

-untrusted file

信頼されていない証明書を格納するファイル。ファイルには複数の証明書を記述できる。

 =item B<-purpose purpose>
 
 the intended use for the certificate. Without this option no chain verification
 will be done. Currently accepted uses are B<sslclient>, B<sslserver>,
 B<nssslserver>, B<smimesign>, B<smimeencrypt>. See the B<VERIFY OPERATION>
 section for more information.

-purpose purpose

証明書の用途。このオプションがなければ、チェーン検証は行なわれない。現在有効な用途は、sslclient、 sslserver、nssslserver、 smimesign、 smimeencrypt である。詳細は、 VERIFY OPERATION セクションを参照の事。

 =item B<-help>
 
 prints out a usage message.

-help

使い方を表示する。

 =item B<-verbose>
 
 print extra information about the operations being performed.

-verbose

実行される操作の詳細の情報を表示する。

 =item B<-issuer_checks>
 
 print out diagnostics relating to searches for the issuer certificate
 of the current certificate. This shows why each candidate issuer
 certificate was rejected. However the presence of rejection messages
 does not itself imply that anything is wrong: during the normal
 verify process several rejections may take place.

-issuer_checks

現在の証明書の issure certificate (発行者証明書) の検索に関連する診断を表示する。これは、issufre certificate 候補がリジェクトされた理由を個別に表示する。しかし、リジェクトメッセージの存在は、何も間違っていることをそれ自身では意味しない:通常の検証プロセスであっても、いくつかのリジェクトが生じる可能性がある。

 =item B<->
 
 marks the last option. All arguments following this are assumed to be
 certificate files. This is useful if the first certificate filename begins
 with a B<->.

-

オプションの終了を示す。これ以降の全ての引数は、証明書ファイルであると仮定される。これは、最初の証明書のファイル名が - で始まる際に役に立つ。

 =item B<certificates>
 
 one or more certificates to verify. If no certificate filenames are included
 then an attempt is made to read a certificate from standard input. They should
 all be in PEM format.

certificates

検証するための一つ以上の証明書。もしも、証明書ファイル名がなければ、標準入力から証明書の読み込みを試みる。証明書は PEM フォーマットの必要がある。

 =back
 
 =head1 VERIFY OPERATION

VERIFY OPERATION (検証の操作)

 The B<verify> program uses the same functions as the internal SSL and S/MIME
 verification, therefore this description applies to these verify operations
 too.

verify プログラムは、SSL や S/MIME の検証と同じ関数を利用する。従って、この記載はそれらの検証作業にも適用される。

 There is one crucial difference between the verify operations performed
 by the B<verify> program: wherever possible an attempt is made to continue
 after an error whereas normally the verify operation would halt on the
 first error. This allows all the problems with a certificate chain to be
 determined.

verify プログラムを利用して 検証作業を行なう場合、重大な違いが一つある : 通常は、検証作業は最初のエラーが発生したところで止まるが、エラーが発生した後も試行を継続させる事が可能である。従って、証明書チェーンが持つすべての問題を取り出す事が可能である。

 The verify operation consists of a number of separate steps.

検証操作は、沢山のステップからなる。

 Firstly a certificate chain is built up starting from the supplied certificate
 and ending in the root CA. It is an error if the whole chain cannot be built
 up. The chain is built up by looking up the issuers certificate of the current
 certificate. If a certificate is found which is its own issuer it is assumed 
 to be the root CA.

始めに、与えられた証明書で始まって、ルートCAで終る証明書チェーンが構築される。チェーンが完全に構築されなければ、エラーが発生する。チェーンは、手元にある証明書の issure certificate (発行者証明書) を検索して構築される。もしも証明書がみつかり、それ自身の issure 発行者であれば、ルート CA である事を保証する。

 The process of 'looking up the issuers certificate' itself involves a number
 of steps. In versions of OpenSSL before 0.9.5a the first certificate whose
 subject name matched the issuer of the current certificate was assumed to be
 the issuers certificate. In OpenSSL 0.9.6 and later all certificates
 whose subject name matches the issuer name of the current certificate are 
 subject to further tests. The relevant authority key identifier components
 of the current certificate (if present) must match the subject key identifier
 (if present) and issuer and serial number of the candidate issuer, in addition
 the keyUsage extension of the candidate issuer (if present) must permit
 certificate signing.

「issuers certificate (発行者証明書) の検索 」過程そのものは、多くの手順が含まれる。OpenSSL 0.9.5a 以前のバージョンでは、subject name (所有者名) が手元にある証明書の発行者とマッチした最初の証明書が発行者証明書と仮定された。 OpenSSL 0.9.6 以降では、検証中の証明書の発行者名に所有者名が一致する全ての証明書がさらにテストされる。関連する authority key identifier 要素が検証中の証明書に含まれていた場合、subject key identifier (所有者鍵識別子) があればそれとマッチしなければならない。また、 isuure (発行者) 及び発行者候補の serial number (シリアル番号) も同様である。それに加えて、 (もしいれば) 発行者候補の keyUsage 拡張 が、certificate signing (証明書の署名) を許可していなければならない。

 The lookup first looks in the list of untrusted certificates and if no match
 is found the remaining lookups are from the trusted certificates. The root CA
 is always looked up in the trusted certificate list: if the certificate to
 verify is a root certificate then an exact match must be found in the trusted
 list.

検索では、最初に信頼されていない証明書のリストを確認し、マッチするものがなければ信頼された証明書に対して続きの検索が行なわれる。ルート CA は通常信頼された証明書の中でみつけられる : もし、検証された証明書がルート証明書であるならば、信頼されたリスト内で見つけられる必要がある。

 The second operation is to check every untrusted certificate's extensions for
 consistency with the supplied purpose. If the B<-purpose> option is not included
 then no checks are done. The supplied or "leaf" certificate must have extensions
 compatible with the supplied purpose and all other certificates must also be valid
 CA certificates. The precise extensions required are described in more detail in
 the B<CERTIFICATE EXTENSIONS> section of the B<x509> utility.

2番目の操作は信頼されていない証明書の拡張領域をそれぞれ確認することである。もしも -purpose オプションが設定されていなければ、確認は行なわれない。与えられた (あるいは"leaf"***)証明書はその用途と互換性のある拡張領域をもっていなければならない。また、それ以外のすべての証明書は有効なCA証明書でなければならない。実際に要求される拡張領域の詳細については、x509ユーティリティの CERTIFICATE EXTENSIONS セクションを参照のこと。

 The third operation is to check the trust settings on the root CA. The root
 CA should be trusted for the supplied purpose. For compatibility with previous
 versions of SSLeay and OpenSSL a certificate with no trust settings is considered
 to be valid for all purposes. 

3番目の操作は、ルートCA上で「trust settings 信頼の設定」を確認する事である。ルートCAは与えられた目的に対して信頼されるべきである。SSLeayやOpenSSLの以前のバージョンとの互換性のために、「trust settings 信頼の設定」をもたない証明書はあらゆる目的に対して有効である。

 The final operation is to check the validity of the certificate chain. The validity
 period is checked against the current system time and the notBefore and notAfter
 dates in the certificate. The certificate signatures are also checked at this
 point.

最後の操作は、証明書チェインの有効期間の確認である。有効期限は現在のシステム時間と、証明書の notBefore 及び notAfter を利用して確認される。証明書の署名も、この時点で確認が行なわれる。

 If all operations complete successfully then certificate is considered valid. If
 any operation fails then the certificate is not valid.

もしもすべての操作が成功すれば、証明書は有効であるとみなされる。もしもどれか一つでも操作に失敗すれば、証明書は有効ではない。

 =head1 DIAGNOSTICS

DIAGNOSTICS (診断ルーチン)

 When a verify operation fails the output messages can be somewhat cryptic. The
 general form of the error message is:
 
  server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit)
  error 24 at 1 depth lookup:invalid CA certificate

検証操作が失敗した場合、出力されるメッセージは幾らか暗号的である。一般的なエラーメッセージの形態は以下のようになる。

server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit)
error 24 at 1 depth lookup:invalid CA certificate
 The first line contains the name of the certificate being verified followed by
 the subject name of the certificate. The second line contains the error number
 and the depth. The depth is number of the certificate being verified when a
 problem was detected starting with zero for the certificate being verified itself
 then 1 for the CA that signed the certificate and so on. Finally a text version
 of the error number is presented.

一行目には、検証しようとしている証明書の名前と、その後ろに証明書の subject name (所有者名) が記述される。二行目にはエラー番号と depth が記載される。depth とは、問題がみつかった際に、証明書それ自身の検証をゼロで始めた場合の検証されている証明書の番号を指す。証明書に署名しているCAは 1 となる。(2行目の) 最後に、テキスト版のエラー番号が表示される。

 An exhaustive list of the error codes and messages is shown below, this also
 includes the name of the error code as defined in the header file x509_vfy.h
 Some of the error codes are defined but never returned: these are described
 as "unused".

エラーコード及びメッセージの完全なリストは以下を参照のこと。これはヘッダファイル x509_vfy.h で定義されたエラーコードの名前を含んでいる。エラーコードのいくつかは、定義されているが実際に返ってくる事はない (ので "unused (利用されない) " と記述されている)。

 =over 4
 
 =item B<0 X509_V_OK: ok>
 
 the operation was successful.

0 X509_V_OK: o

操作は成功した。

 =item B<2 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer certificate>
 
 the issuer certificate could not be found: this occurs if the issuer certificate
 of an untrusted certificate cannot be found.

2 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT: unable to get issuer certificate

issuer certificate (発行者証明書) が見つけられなかった : untrusted certificate (信頼されていない証明書) の発行者証明書が見つけられなかった時に表示される。

 =item B<3 X509_V_ERR_UNABLE_TO_GET_CRL unable to get certificate CRL>
 
 the CRL of a certificate could not be found. Unused.

3 X509_V_ERR_UNABLE_TO_GET_CRL unable to get certificate CRL

証明書の CRL が見つけられない。利用されない (unused) 。

 =item B<4 X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: unable to decrypt certificate's signature>
 
 the certificate signature could not be decrypted. This means that the actual signature value
 could not be determined rather than it not matching the expected value, this is only
 meaningful for RSA keys.

4 X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE: unable to decrypt certificate's signature

証明書の署名が復号化できない。これは、期待値と一致しないと言うよりは、有効な署名の値が決められなかったという意味である。これは RSA 鍵に対してのみ有効である。

 =item B<5 X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: unable to decrypt CRL's signature>
 
 the CRL signature could not be decrypted: this means that the actual signature value
 could not be determined rather than it not matching the expected value. Unused.

5 X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE: unable to decrypt CRL's signature

CRL 署名が復号化できない。これは、期待値と一致しないと言うよりは、有効な署名の値が決められなかったという意味である。利用されない (unused) 。

 =item B<6 X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: unable to decode issuer public key>
 
 the public key in the certificate SubjectPublicKeyInfo could not be read.

6 X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY: unable to decode issuer public key

証明書の SubjectPublicKeyInfo? に含まれる public key (公開鍵)が読めない。

 =item B<7 X509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature failure>
 
 the signature of the certificate is invalid.

7 X509_V_ERR_CERT_SIGNATURE_FAILURE: certificate signature failure

証明書の署名が不正である。

 =item B<8 X509_V_ERR_CRL_SIGNATURE_FAILURE: CRL signature failure>
 
 the signature of the certificate is invalid. Unused.

8 X509_V_ERR_CRL_SIGNATURE_FAILURE: CRL signature failure

証明書の署名が不正である。利用されない (unused) 。

 =item B<9 X509_V_ERR_CERT_NOT_YET_VALID: certificate is not yet valid>
 
 the certificate is not yet valid: the notBefore date is after the current time.

9 X509_V_ERR_CERT_NOT_YET_VALID: certificate is not yet valid

証明書はまだ有効ではない (notBefore の値が現在の日時より後であるため。)

 =item B<10 X509_V_ERR_CERT_HAS_EXPIRED: certificate has expired>
 
 the certificate has expired: that is the notAfter date is before the current time.

10 X509_V_ERR_CERT_HAS_EXPIRED: certificate has expired

証明書は有効期限が切れている (notAfter の値が現在の日時より前であるため。)

 =item B<11 X509_V_ERR_CRL_NOT_YET_VALID: CRL is not yet valid>
 
 the CRL is not yet valid. Unused.

11 X509_V_ERR_CRL_NOT_YET_VALID: CRL is not yet valid

CRLがまだ有効ではない。利用されない (unused) 。

 =item B<12 X509_V_ERR_CRL_HAS_EXPIRED: CRL has expired>
 
 the CRL has expired. Unused.

CRLの有効期限が切れている。利用されない (unused) 。

 =item B<13 X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: format error in certificate's notBefore field>
 
 the certificate notBefore field contains an invalid time.

13 X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: format error in certificate's notBefore field

証明書の notBefore フィールドに不正な時刻が含まれている。

 =item B<14 X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: format error in certificate's notAfter field>
 
 the certificate notAfter field contains an invalid time.

14 X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: format error in certificate's notAfter field

証明書の notAfter フィールドに不正な時刻が含まれている。

 =item B<15 X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: format error in CRL's lastUpdate field>
 
 the CRL lastUpdate field contains an invalid time. Unused.

15 X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD: format error in CRL's lastUpdate field

CRLの lastUpdate フィールドに不正な時刻が含まれている。利用されない (unused) 。

 =item B<16 X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: format error in CRL's nextUpdate field>
 
 the CRL nextUpdate field contains an invalid time. Unused.

16 X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD: format error in CRL's nextUpdate field

CRLの nextUpdate フィールドに不正な時刻が含まれている。利用されない (unused) 。

 =item B<17 X509_V_ERR_OUT_OF_MEM: out of memory>
 
 an error occurred trying to allocate memory. This should never happen.

17 X509_V_ERR_OUT_OF_MEM: out of memory

メモリ割当の際にエラーが発生した。これは決して起こってはならない。

 =item B<18 X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: self signed certificate>
 
 the passed certificate is self signed and the same certificate cannot be found in the list of
 trusted certificates.

18 X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: self signed certificate

パスした証明書は自己署名されているが、信頼された証明書リストからみつけられない。

 =item B<19 X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in certificate chain>
 
 the certificate chain could be built up using the untrusted certificates but the root could not
 be found locally.

19 X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in certificate chain

証明書チェインが信頼されていない証明書を利用して構築されるが、ルートをローカルに見つけられない。

 =item B<20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate>
 
 the issuer certificate of a locally looked up certificate could not be found. This normally means
 the list of trusted certificates is not complete.

20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate

ローカルでみつけられた証明書の発行者証明書が見つけられない。通常、信頼された証明書のリストが完全ではない場合に表示される。

 =item B<21 X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: unable to verify the first certificate>
 
 no signatures could be verified because the chain contains only one certificate and it is not
 self signed.

21 X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: unable to verify the first certificate

チェインに含まれる証明書が一つしかなく、かつそれが自己署名されていないために、証明書がまったく検証できない。

 =item B<22 X509_V_ERR_CERT_CHAIN_TOO_LONG: certificate chain too long>
 
 the certificate chain length is greater than the supplied maximum depth. Unused.

22 X509_V_ERR_CERT_CHAIN_TOO_LONG: certificate chain too long

証明書チェインの長さが、与えられた階層の最大値より大きい。利用されない (unused) 。

 =item B<23 X509_V_ERR_CERT_REVOKED: certificate revoked>
 
 the certificate has been revoked. Unused.

23 X509_V_ERR_CERT_REVOKED: certificate revoked

証明書は revoke (廃止) されている。利用されない (unused) 。

 =item B<24 X509_V_ERR_INVALID_CA: invalid CA certificate>
 
 a CA certificate is invalid. Either it is not a CA or its extensions are not consistent
 with the supplied purpose.

24 X509_V_ERR_INVALID_CA: invalid CA certificate

CA 証明書が不正である。CAではない、あるいは拡張領域にある目的が矛盾している場合のどちらかである。

 =item B<25 X509_V_ERR_PATH_LENGTH_EXCEEDED: path length constraint exceeded>
 
 the basicConstraints pathlength parameter has been exceeded.

25 X509_V_ERR_PATH_LENGTH_EXCEEDED: path length constraint exceeded

basicConstraints (基本制約) で設定されたパス長を越えている。

 =item B<26 X509_V_ERR_INVALID_PURPOSE: unsupported certificate purpose>
 
 the supplied certificate cannot be used for the specified purpose.

26 X509_V_ERR_INVALID_PURPOSE: unsupported certificate purpose

与えられた証明書は、指定した目的では利用できない。

 =item B<27 X509_V_ERR_CERT_UNTRUSTED: certificate not trusted>
 
 the root CA is not marked as trusted for the specified purpose.

27 X509_V_ERR_CERT_UNTRUSTED: certificate not trusted

ルートCAは指定された目的に対しては信頼されていない。

 =item B<28 X509_V_ERR_CERT_REJECTED: certificate rejected>
 
 the root CA is marked to reject the specified purpose.

28 X509_V_ERR_CERT_REJECTED: certificate rejected

ルートCAは指定された目的に対してリジェクトされている。

 =item B<29 X509_V_ERR_SUBJECT_ISSUER_MISMATCH: subject issuer mismatch>
 
 the current candidate issuer certificate was rejected because its subject name
 did not match the issuer name of the current certificate. Only displayed when
 the B<-issuer_checks> option is set.

29 X509_V_ERR_SUBJECT_ISSUER_MISMATCH: subject issuer mismatch

subject name (所有者名)が現在の証明書の issure name (発行者名)と一致しないため、更新のために準備されている発行者証明書はリジェクトされた。-issuer_checks オプションが設定された時のみ表示される。

 =item B<30 X509_V_ERR_AKID_SKID_MISMATCH: authority and subject key identifier mismatch>
 
 the current candidate issuer certificate was rejected because its subject key
 identifier was present and did not match the authority key identifier current
 certificate. Only displayed when the B<-issuer_checks> option is set.

30 X509_V_ERR_AKID_SKID_MISMATCH: authority and subject key identifier mismatch

subject key identifier (所有者鍵識別子)と現在の証明書の authority key identifier (機関鍵識別子) が一致しないため、更新のために準備されている発行者証明書はリジェクトされた。-issuer_checks オプションが設定された時のみ表示される。

 =item B<31 X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: authority and issuer serial number mismatch>
 
 the current candidate issuer certificate was rejected because its issuer name
 and serial number was present and did not match the authority key identifier
 of the current certificate. Only displayed when the B<-issuer_checks> option is set.

31 X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH: authority and issuer serial number mismatch

issure name (発行者名) 及びシリアル番号と現在の証明書の authority key identifier (機関鍵識別子) が一致しないため、更新のために準備されている発行者証明書はリジェクトされた。-issuer_checks オプションが設定された時のみ表示される。

 =item B<32 X509_V_ERR_KEYUSAGE_NO_CERTSIGN:key usage does not include certificate signing>
 
 the current candidate issuer certificate was rejected because its keyUsage extension
 does not permit certificate signing.

32 X509_V_ERR_KEYUSAGE_NO_CERTSIGN:key usage does not include certificate signing

keyUsage (鍵使用) 拡張領域に、証明書への署名を行なう権限がないため、更新のために準備されている発行者証明書はリジェクトされた。

 =item B<50 X509_V_ERR_APPLICATION_VERIFICATION: application verification failure>
 
 an application specific error. Unused.

50 X509_V_ERR_APPLICATION_VERIFICATION: application verification failure

アプリケーション特有のエラー。利用されない (unused) 。

 =back
 
 =head1 BUGS

BUGS

 Although the issuer checks are a considerably improvement over the old technique they still
 suffer from limitations in the underlying X509_LOOKUP API. One consequence of this is that
 trusted certificates with matching subject name must either appear in a file (as specified by the
 B<-CAfile> option) or a directory (as specified by B<-CApath>. If they occur in both then only
 the certificates in the file will be recognised.

発行者の確認は、古い技術の上でかなり改善された。しかし、まだ X509_LOOKUP API を原因とする限界がある。これに由来するものの一つに、subject name (所有者名) のマッチングを行なうための信頼された証明書は、(-CAfile オプションで指定された)ファイルあるいは (-CApathオプションで指定された) ディレクトリに存在しなければならないことが挙げられる。もしも、それらが両方にある場合、ファイルとして指定された証明書のみが利用される。

 Previous versions of OpenSSL assume certificates with matching subject name are identical and
 mishandled them.

以前のバージョンのOpenSSLはsubject name (所有者名) の照合が同一な証明書を想定しており、それらの取り扱いを間違えていた。***

 =head1 SEE ALSO
 
 L<x509(1)|x509(1)>
 
 =cut
更新日時:2003/12/16 13:30:34
キーワード:
参照:[OpenSSL のマニュアルの翻訳]