From bcf2b8c9623d0990fb121b08e775036a87b9cad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AD=A6=E7=94=B0=20=E6=86=B2=E5=A4=AA=E9=83=8E?= Date: Thu, 29 Oct 2026 23:13:44 +0900 Subject: [PATCH] =?UTF-8?q?openssl=20=E3=82=92=E5=8E=9F=E6=96=87=E3=81=AE?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=81=AB=E8=BF=BD=E5=BE=93=20(3=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=82=A4=E3=83=AB)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../openssl/functions/openssl-cms-read.xml | 57 +++-- .../functions/openssl-random-pseudo-bytes.xml | 6 +- .../openssl/functions/openssl-x509-parse.xml | 212 +++++++++++++++++- 3 files changed, 257 insertions(+), 18 deletions(-) diff --git a/reference/openssl/functions/openssl-cms-read.xml b/reference/openssl/functions/openssl-cms-read.xml index 4e4a04d174..2935facb44 100644 --- a/reference/openssl/functions/openssl-cms-read.xml +++ b/reference/openssl/functions/openssl-cms-read.xml @@ -1,6 +1,6 @@ - + @@ -15,11 +15,12 @@ stringinput_filename arraycertificates - - openssl_pkcs7_read と似た処理を行います。 - - - &warn.undocumented.func; + + PEM エンコードされた CMS 構造から証明書と + CRL を取り出し、PEM 形式の文字列として返します。 + この関数は、openssl_pkcs7_read の + CMS 版です。 + @@ -29,17 +30,20 @@ input_filename - - - + + パースする、PEM エンコードされた CMS データ。 + 引数名に反して、ファイルへのパスではなくデータそのものを指定します。 + certificates - - - + + 取り出した証明書と CRL が、PEM 形式の文字列の配列として格納されます。 + これらを取り出せるのは、署名付きデータの場合だけです。 + それ以外のコンテンツタイプでは、配列は空になります。 + @@ -47,11 +51,36 @@ &reftitle.returnvalues; - + &return.success; - + + + &reftitle.examples; + + <function>openssl_cms_read</function> の例 + + +]]> + + + diff --git a/reference/openssl/functions/openssl-random-pseudo-bytes.xml b/reference/openssl/functions/openssl-random-pseudo-bytes.xml index d8b8247e98..f0b6943bbf 100644 --- a/reference/openssl/functions/openssl-random-pseudo-bytes.xml +++ b/reference/openssl/functions/openssl-random-pseudo-bytes.xml @@ -1,6 +1,6 @@ - + @@ -70,6 +70,10 @@ openssl_random_pseudo_bytes は、 失敗した場合に Exception をスローします。 + + length が 1 より小さい場合、 + ValueError がスローされます。 + diff --git a/reference/openssl/functions/openssl-x509-parse.xml b/reference/openssl/functions/openssl-x509-parse.xml index f5e87c3538..9f60e51e37 100644 --- a/reference/openssl/functions/openssl-x509-parse.xml +++ b/reference/openssl/functions/openssl-x509-parse.xml @@ -1,6 +1,6 @@ - + @@ -52,9 +52,215 @@ &reftitle.returnvalues; + + 成功した場合に証明書のフィールドを含む配列を、失敗した場合に &false; を返します。 + + + alias は、証明書にエイリアスがある場合にだけ存在します。 + 以下に示すそれ以外のキーは、常に存在します。 + - 返されるデータの構造については(わざと)まだ文書化していません。 - これは、今後もデータの構造が変更される可能性があるためです。 + + <function>openssl_x509_parse</function> が返す配列 + + + + キー + 型 + &Description; + + + + + name + string + + subject の識別名を 1 つの文字列で表したもの。各要素はスラッシュで区切られます。 + 例えば /C=US/O=Example/CN=example.com のようになります。 + + + + subject + array + + subject の識別名。キーは、short_names が + &true; の場合は CN のような短縮名、 + そうでない場合は commonName のような長い名前です。 + 各値は UTF-8 文字列です。同じ要素が複数回現れる場合は、 + UTF-8 文字列の配列になります。 + + + + hash + string + + subject の識別名のハッシュ値を小文字の 16 進数で表したもの。 + OpenSSL が CA ディレクトリから証明書を探すときに使う 8 桁の値です。 + 証明書のフィンガープリントではありません。フィンガープリントについては + openssl_x509_fingerprint を参照ください。 + + + + issuer + array + + 発行者の識別名。形式は + subject と同じです。 + + + + version + int + + 証明書に格納されている、バージョンフィールドの生の値。 + 証明書のバージョンとして通常表示される番号より 1 小さい値です。 + バージョン 1 の証明書は 0、バージョン 2 の証明書は + 1、バージョン 3 の証明書は + 2 になります。 + + + + serialNumber + string + + シリアル番号を 10 進数で表したもの。シリアル番号が大きい場合は、 + 先頭に 0x を付けた 16 進数の文字列になります。 + + + + serialNumberHex + string + + シリアル番号を大文字の 16 進数で表したもの。 + + + + validFrom + string + + 有効期間の開始日時を ASN.1 の形式で表したもの。UTCTime + (YYMMDDHHMMSSZ) と GeneralizedTime + (YYYYMMDDHHMMSSZ) のいずれかです。 + + + + validTo + string + + 有効期間の終了日時。形式は validFrom と同じです。 + + + + validFrom_time_t + int + + 有効期間の開始日時を表す Unix タイムスタンプ。日時をパースできなかった場合は + -1 になります。 + + + + validTo_time_t + int + + 有効期間の終了日時を表す Unix タイムスタンプ。日時をパースできなかった場合は + -1 になります。 + + + + alias + string + + 証明書のエイリアス (フレンドリ名)。設定されている場合にだけ存在します。 + + + + signatureTypeSN + string + + 署名アルゴリズムの短縮名。 + + + + signatureTypeLN + string + + 署名アルゴリズムの長い名前。 + + + + signatureTypeNID + int + + 署名アルゴリズムを表す数値の識別子 (OpenSSL の NID)。 + + + + purposes + array + + 目的ごとの確認結果。キーは目的の ID で、 + X509_PURPOSE_* + 定数の値です。各値は、後述する配列です。 + + + + extensions + array + + 証明書の拡張。キーは subjectAltName のような拡張の短縮名で、 + 短縮名がない拡張は OID がキーになります。 + 各値は拡張の内容を表すテキストで、テキストとして出力できない場合は + 拡張の生データになります。どのキーが存在するかは証明書によって異なります。 + この配列は short_names の影響を受けません。 + + + + +
+
+ + purposes の各要素には、以下のキーがあります。 + + + + 目的ごとの配列 + + + + キー + 型 + &Description; + + + + + 0 + bool + + エンドエンティティ証明書として、この目的に使える場合に + &true; になります。 + + + + 1 + bool + + CA 証明書として、この目的に使える場合に + &true; になります。 + + + + 2 + string + + 目的の名前。short_names が &true; の場合は + sslclient のような短縮名、 + そうでない場合は SSL client のような長い名前です。 + + + + +