openssl — Как получить информацию CSR ASN.1 из csr Stack Overflow

Я хочу декодировать CSR и хочу получить его подробную информацию и информацию ASN.1.

Я использую следующие функции

$cert_data = openssl_csr_get_public_key($csr);
$cert_details = openssl_pkey_get_details($cert_data);
$cert_key = $cert_details['key'];
$cert_subject = openssl_csr_get_subject($csr);

Но только получая следующую информацию:

Array
(
[subject] => Array
(
[C] => GB
[ST] => Staffordshire
[L] => Stoke on Trent
[O] => Red Kestrel Consulting Ltd
[CN] => testcert.redkestrel.co.uk
)

[key] => -----BEGIN PUBLIC KEY-----

-----END PUBLIC KEY-----

[details] => Array
(
[bits] => 2048
[key] => -----BEGIN PUBLIC KEY-----

-----END PUBLIC KEY-----

[rsa] => Array
()

[type] => 0
)

Заранее спасибо. 🙂

0

Решение

Вы можете использовать библиотеку PHP ‘Phpseclib’ и сделать что-то подобное

<?php

require_once(__DIR__ . '/vendor/autoload.php');

$csrInPEM = file_get_contents(__DIR__ . '/server.csr');
$x509 = new \phpseclib\File\X509();

$spkac = $x509->loadCSR($csrInPEM);

var_dump($spkac);
0

Другие решения

Других решений пока нет …