Уже надоело биться с функциями OpenSSL. Сгенерировал просто openSLL рутовый сертификат. Потом создаю уже в пхп пользовательский, подписанный рутовым. Соответственно использую функции Код | /** * Генерация приватного ключа */ $priv_key = openssl_pkey_new($config); $p_key_out = ''; $result = openssl_pkey_export($priv_key, $p_key_out, $pass_phrase, $config);
/** * Генерация подписи сертификата */ $csr = openssl_csr_new($dn, $priv_key, $config); $csr_out = ''; $result = openssl_csr_export($csr, $csr_out);
/** * Генерация сертификата */ //читаем корневой сертификат $fp = fopen("C:/openssl/bin/demoCA/cacert.pem", "r"); $cert = fread($fp, 8192); fclose($fp); //читаем ключик корневого сертификата $fp_key = fopen("C:/openssl/bin/demoCA/private/cakey.pem", "r"); $private_key = fread($fp_key, 8192); fclose($fp_key); $privkey = openssl_get_privatekey($private_key, "main");
//подписываем пользовательский сертификат $ca_signed_cert = openssl_csr_sign($csr, openssl_x509_read($cert), $privkey, 365);
$cert_out = '';
//Скидываем все дружно в файл $result = openssl_x509_export($ca_signed_cert, $cert_out); file_put_contents($file1, $p_key_out . $csr_out . $cert_out);
|
получаем кашу следующего содержания. Цитата | -----BEGIN RSA PRIVATE KEY----- MIIBOwIBAAJBAMUzdLUgZvQ0/gmB5vXILq6N4Eqm1xq/w0rlrBQMn7B2FZLwPgZj 0HDj3k7JbJxx+to45HL/hVhSRV0QmPdz5e8CAwEAAQJAJCsP2LicqWWewjelGKci iLlUzdxTz4AkXXRKX1MBZueuus7OxE4JJOD0ifqinX9BZX7IF1uqfkBKKvig4H5c wQIhAPcO2U7sNaCyBLixsNLC6wwQ23poptHw2Br0Od8a5V+XAiEAzFamXNj97/Xc Ti/7yyw1QgCmeX/qbHvy9UQPzrWj92kCIQCzSB09/n90G3r9pESSzUvQN7Ntgt/7 3XCVLsGIO3ZUBQIhAMTuKY1ID4wJHlY4Rmnr5DQFHmvwTMRavK+F9doZEropAiAk SUjyK2pq3ca8WsGGD/JfGqdgJ1ocLa7jRZDFlVlUBQ== -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE REQUEST----- MIIBRTCB8AIBADBiMQswCQYDVQQGEwJydTELMAkGA1UECBMCMTExCzAJBgNVBAcT AjExMQswCQYDVQQKEwIxMTELMAkGA1UECxMCMTExCzAJBgNVBAMTAjExMRIwEAYJ KoZIhvcNAQkBFgMzMzMwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAxTN0tSBm9DT+ CYHm9cguro3gSqbXGr/DSuWsFAyfsHYVkvA+BmPQcOPeTslsnHH62jjkcv+FWFJF XRCY93Pl7wIDAQABoCkwJwYJKoZIhvcNAQkOMRowGDAJBgNVHRMEAjAAMAsGA1Ud DwQEAwIF4DANBgkqhkiG9w0BAQQFAANBAEWNKyxYMjBYNYqA9F5vtnUiOppJNuhs f/zBLjhvvGQlU7GTtKxYsM2hTFLqCVGv0Sp8gNiwN/vm+jWmXpjyZGI= -----END CERTIFICATE REQUEST----- -----BEGIN CERTIFICATE----- MIIEbzCCAlegAwIBAgIBADANBgkqhkiG9w0BAQQFADB6MQswCQYDVQQGEwJSVTET MBEGA1UECBMKU29tZS1TdGF0ZTEPMA0GA1UEBxMGU2FpbnRQMQwwCgYDVQQKEwNB SVMxDTALBgNVBAsTBEdVQVAxDjAMBgNVBAMTBWZyb3N0MRgwFgYJKoZIhvcNAQkB FgkxQG1haWwucnUwHhcNMDkwNTIwMDgyNjE5WhcNMTAwNTIwMDgyNjE5WjBiMQsw CQYDVQQGEwJydTELMAkGA1UECBMCMTExCzAJBgNVBAcTAjExMQswCQYDVQQKEwIx MTELMAkGA1UECxMCMTExCzAJBgNVBAMTAjExMRIwEAYJKoZIhvcNAQkBFgMzMzMw XDANBgkqhkiG9w0BAQEFAANLADBIAkEAxTN0tSBm9DT+CYHm9cguro3gSqbXGr/D SuWsFAyfsHYVkvA+BmPQcOPeTslsnHH62jjkcv+FWFJFXRCY93Pl7wIDAQABo4Hf MIHcMB0GA1UdDgQWBBT5Txn3YUtDexWvVcEa56uJLMQEdjCBrAYDVR0jBIGkMIGh gBQGJm0U2cziGSf6UzfdEgP54LOV0qF+pHwwejELMAkGA1UEBhMCUlUxEzARBgNV BAgTClNvbWUtU3RhdGUxDzANBgNVBAcTBlNhaW50UDEMMAoGA1UEChMDQUlTMQ0w CwYDVQQLEwRHVUFQMQ4wDAYDVQQDEwVmcm9zdDEYMBYGCSqGSIb3DQEJARYJMUBt YWlsLnJ1ggkAqHTSQQ5a54swDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQQFAAOC AgEAJmCStlbfmSypt6eWt6LcOCMCUu2zvWtwNZ7cRZll9MVC4nA72C8i+cHSPJjq clQuyeHAqvR95Sx6q3AfokFwVVTUeb6FeRAbzK1m4C1WFKRslqBkCVqiPK509in3 LLrxjKDMljfIO8NYKNo1qzAQsK6+Z5uWhxzXQbuqblS4xfiwY+NfbeUBGOi7VKh8 ZGOPNypSWKvO5fC8FOOA49e11CrbOJiLAFLXrVQ5HmHW1NwN39Q4RXuArZG5PYLV t7EQ+GkUOJJALcoCypp5B7KnTbBIpLQ2S0PFzuY/+l5tnzLmNYzlsWem9BE4xx3h to8Bs7q007nZfV2vFS+c4+eDoHo/2le9R7QPvZs1ji1Nu2S42mIz3RTB/hYRUy+O QjAmagZkkovk22k8gKx+D4dU4v7GCGENiHX9FRKce3RbJNzTMb59QyJgjT0QIMY7 AjQLexMcJGNUWZydskBBRhDmalAtBiG2v3PRbbQVQ4tcmwTt72FqNsKfgaASeBuF Rq7VE2r6NK8AZT9HOo0nUqN+zsEH6fDZVUibWnOEInGjVUHifAzSJkZZfK6qd5BU N8RQ1Re1RWp09Xh8X4RfkxVZbIVC7OwGszEe9w1miCSrbIJJmnJ+ABUhDnBvo36J DEPouWAxQYff0TjBoqK1cvbOebgFg0SdOeu35av5S61X8sA= -----END CERTIFICATE-----
|
На сколько я знаю формат .pem предусматривает хранение самого сертификата и ключа сертификата в разных файлах. Пока не могу понять, как посмотреть данные этого сертификата. Буду благодарен, если кто подскажет, как это сделать...
|