# openssl_csr_get_subject

(PHP 5 >= 5.2.0, PHP 7)

openssl_csr_get_subject — 返回CSR的主题

### 说明

openssl_csr_get_subject ( mixed `$csr` [, bool `$use_shortnames` = true ] ) : array

openssl_csr_get_subject() 返回`csr`中专有名称信息的主题，其中包含了通用名称 (CN), 机构名称 (O), 国家名 (C) 等字段。

### 参数

`csr`

  See CSR parameters for a list of valid values.

`use_shortnames`

  `shortnames` 控制着数据如何在数组中被索引 - 如果 `shortnames` 为 `TRUE` (默认) 将使用简称形式对字段进行索引，否则将使用全称形式 - 比如： CN 就是 commonName 的简称形式。

### 返回值

成功时返回 `TRUE`， 或者在失败时返回 `FALSE`。

### 范例

Example #1 openssl_csr_get_subject() 范例

    <?php
    $subject = array(
        "countryName" => "CA",
        "stateOrProvinceName" => "Alberta",
        "localityName" => "Calgary",
        "organizationName" => "XYZ Widgets Inc",
        "organizationalUnitName" => "PHP Documentation Team",
        "commonName" => "Wez Furlong",
        "emailAddress" => "wez@example.com",
    );
    $private_key = openssl_pkey_new(array(
        "private_key_bits" => 2048,
        "private_key_type" => OPENSSL_KEYTYPE_RSA,
    ));
    $configargs = array(
        'digest_alg' => 'sha512WithRSAEncryption'
    );
    $csr = openssl_csr_new($subject, $privkey, $configargs);
    print_r(openssl_csr_get_subject($csr));
    ?>

以上例程的输出类似于：

    Array
    (
        [C] => CA
        [ST] => Alberta
        [L] => Calgary
        [O] => XYZ Widgets Inc
        [OU] => PHP Documentation Team
        [CN] => Wez Furlong
        [emailAddress] => wez@example.com
    )

### 参见

- openssl_csr_new() - 生成一个 CSR
- openssl_csr_get_public_key() - 返回CSR的公钥
- openssl_x509_parse() - 解析一个X509证书并作为一个数组返回信息