OpenSSL. Как получить открытый ключ?

Covex

Guest
OpenSSL. Как получить открытый ключ?

Помогите!!!
Как можно получить открытый ключ из сертификата посредством OpenSLL.
Есть команда openssl_pkey_get_public ( mixed certificate).
Но она не работает. Как вообще можно получить этот открытый ключ. Хост под Юниксом.
 

worldhosting

Guest
The following instructions are from http://www.apache-ssl.org/#FAQ.

openssl req -config openssl.cnf -new -out my-server.csr
This creates a certificate signing request and a private key. When asked for "Common Name (eg, your websites domain name)", give the exact domain name of your web server (e.g. www.my-server.dom). The certificate belongs to this server name and browsers complain if the name doesn't match.

openssl rsa -in privkey.pem -out my-server.key
This removes the passphrase from the private key. You MUST understand what this means; my-server.key should be only readable by the apache server and the administrator.
You should delete the .rnd file because it contains the entropy information for creating the key and could be used for cryptographic attacks against your private key.

openssl x509 -in my-server.csr -out my-server.cert -req -signkey my-server.key -days 365
This creates a self-signed certificate that you can use until you get a "real" one from a certificate authority. (Which is optional; if you know your users, you can tell them to install the certificate into their browsers.) Note that this certificate expires after one year, you can increase -days 365 if you don't want this.

If you have users with MS Internet Explorer 4.x and want them to be able to install the certificate into their certificate storage (by downloading and opening it), you need to create a DER-encoded version of the certificate:
openssl x509 -in my-server.cert -out my-server.der.crt -outform DER

Create an Apache/conf/ssl directory and move my-server.key and my-server.cert into it.
 

Covex

Guest
Да я согласен, что это все делается под Юниксом из командной строки. А мне нужно получить этот ключ в результате выполнения php скрипта.
Требования вообще следующие:
Некоторая компания выдает мне открытый ключ, в свою очередь я должен отдать им свой. Потом эта компания передает некоторые данные зашифрованные на своей стороне на мой скрипт. Скрипт должен на расшифровать данные. Если все ОК, то происходит зачисление средств и я должен передать эти параметры обратно к ним, но зашифровав своим ключом.

Поэтому первоначально должен передать им свой открытый ключ.

А из PHP команды openssl_pkey_get_public ( mixed certificate)
нельзя получить публичный ключ.
 

tony2001

TeaM PHPClub
Covex:
еще раз прочти правила.
мне кажется, что ты сам себе не хочешь помочь.

хинт:
>А из PHP команды openssl_pkey_get_public ( mixed certificate)
>нельзя получить публичный ключ.
"нельзя" - это слишком подробное описание проблемы, чтобы что-то даже предположить.
 
Сверху