php / php/php-src

The DirName format in a subjectAltName makes parsing difficult

オープン
#20,312 コメント 1 件 リアクション 0 件 担当者 1 名 GitHub で見る

@bukka がすでに取り組んでいます。

2025年10月27日 から。

Extension: openssl Feature Status: Verified
主要言語
C
スター
40.4k
フォーク
8.2k
平均マージ
2日 13時間
マージ済み PR(30日)
96

説明

Description

Given a file certificate.crt:

-----BEGIN CERTIFICATE-----
MIIEbzCCA1egAwIBAgIUdeUsBnjgTxURiuUArMHKO9iz0RwwDQYJKoZIhvcNAQEL
BQAwZTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
DVNhbiBGcmFuY2lzY28xEzARBgNVBAoMCk15IENvbXBhbnkxFDASBgNVBAMMC2V4
YW1wbGUuY29tMB4XDTI1MTAyNzE4NTkyN1oXDTI2MTAyNzE4NTkyN1owZTELMAkG
A1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFu
Y2lzY28xEzARBgNVBAoMCk15IENvbXBhbnkxFDASBgNVBAMMC2V4YW1wbGUuY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu/ojIyYq0/eUPO/iTeKa
/lgeJUkfp9OR+RW9w+3SlVSh+PoxBaXtiJGUHNJ1L+QCAESOgt5PCe3XhZ7sPBZF
hy+6SZYl46x5FwpDoqwo15mjJrgJ+RRrlUsaFGfGFAbucLcHUB7tMqa/drPzRLLb
/1JW94R+Gb9uk/v8x6AYpeL1fjreagYNDGUgRw/5kQ0a84wmJqXBWVSH0yLeDnuu
BvVStxI/omxAnRmttjLCs/WswwJHJC3iMy4ocP8Xe7xhz9m9nOiOYFLGaCZNPjMC
xeylAgVfdtBe099Y6F3maIxZaVCGHKalwHB6dNwD//m0j6q8ylt5eEeSSSEf51mc
SQIDAQABo4IBFTCCAREwge8GA1UdEQSB5zCB5IILZXhhbXBsZS5jb22CD3d3dy5l
eGFtcGxlLmNvbYIVc3ViZG9tYWluLmV4YW1wbGUuY29thwTAqAEBhxAmB/DQEAIA
UQAAAAAAAAAEgRFhZG1pbkBleGFtcGxlLmNvbaQ+MDwxETAPBgNVBAMMCEpvaG4g
RG9lMRowGAYDVQQKDBFFeGFtcGxlIE9yZywgSW5jLjELMAkGA1UEBhMCVVOgIAYJ
KoZIhvcNAQkUoBMMEVVJRF9mcmllbmRseV9uYW1liAMqAwSGG2h0dHA6Ly9leGFt
cGxlLmNvbS9yZXNvdXJjZTAdBgNVHQ4EFgQUBoi/iNuA3Rj8YVxYu8cRWpfm89sw
DQYJKoZIhvcNAQELBQADggEBAJ14oAlPBzG5TcIlVhCHhAlwdrTTledEzAE+3W9u
gSIPZlwnxeDINn8ESJdH1vXzInkjMUWp5HLRHvnubkm+3+TxM62HSZ1wA8bnY0Yy
hb9nwNj4MsNwWzzljT3W9rMiigZOmcTqEz+Ak+QdmxJHxqiuO5ZolC02D5t2H11A
nL2qDlo/Td90KJi4Hn7W43pUGg/EqIcZf+OSsNIRGd+o/BqF7xHtX2peOCPDStWM
Zvd3D90zu0hKS2mXwaNk6wXGgTTd3sO9+1QehwbvHU+ge1aFumNyrnGCD7NbLx+G
Ch43ehA+qBjiykgmbH4fTobYyFMjNsLvWY9Jc5ruKJmPm5M=
-----END CERTIFICATE-----

The following code:

<?php
$cert = file_get_contents("certificate.crt");
print_r( openssl_x509_parse( $cert ) );

Resulted in this output:

...
    [extensions] => Array
        (
            [subjectAltName] => ..., email:admin@example.com, DirName: CN = John Doe, O = "Example Org, Inc.", C = US, othername:<unsupported>, ...
...

Note the comma separators in the DirName entry. This is the same separator used to between SAN types, making the subjectAltName difficult to parse.

If, instead, it used the same notation as Subject Name, parseability would be improved:

..., DirName:/CN=John Doe/O=Example Org\, Inc./C=US, ...
PHP Version
PHP 8.3.6 (cli) (built: Aug 26 2025 13:10:20) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.6, Copyright (c) Zend Technologies
    with Zend OPcache v8.3.6, Copyright (c), by Zend Technologies
Operating System

Ubuntu 24.04

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。