2

PHPでopensslを使用して表示可能な形式で公開鍵を抽出するために、さまざまな方法を使用して多くの試みを行いました。例えば

print_r(openssl_pkey_get_details(openssl_csr_get_public_key(\path to csr)));

var_dump(openssl_get_publickey(file_get_contents('\\path to cert'))); 

などなど。しかし、私が得ることができるのは次のようなものだけです:

-----BEGIN PUBLIC KEY----- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClNami19DpcxlYAaZNxHV27r2V gDQbkZhiayaDfcwjYStRaU8Hk1yg76gfhgayssIa6Y7Cek4uH5fV PE6Nj/s9QAkcvpzZDJasdYmj8BGyVwVbRelToMNvXTc eNaH93Dm+OA4TE9yoQIDAQAB

---エンド公開鍵-----

以下の形式で抽出するにはどうすればよいですか。

95 ae 9a 4e db f1 6d 15 55 9f 86 52 28 54 21 3f 88 1b 21 81 2a 01 e3 35 dd 21 51 44 f4 18 bf 85 fb f0 6a 9a 9c 15 7f 46 83 b8 1e 05 b8 9d f 1b 21 81 2a 01 e3 0b fa 45 01 f2 3b 3b bc 1b f6 a3 20 7b 96 3e f7 5d d6 c2 a7 56 29 02 94 ba 0c 29 da 51

ありがとうございました。

4

1 に答える 1

5

ブラウザによって一覧表示される公開鍵は、モジュラスを 16 進数でエンコードしたものにすぎません。thisによって返されるデータ構造内では、 によってopenssl_pkey_get_details表されnます。(理由が知りたい場合は、 RSAアルゴリズムを調べてください。) PHP で取得するには、次のようにします。

$pkey_details = openssl_pkey_get_details(openssl_pkey_get_public(file_get_contents("test.pem")));
echo bin2hex($pkey_details["rsa"]["n"]);
于 2012-10-16T04:00:26.000 に答える