Problem pojawia sie wtedy, gdy chce wygenerowac klucz prywatny i licencje (w
tym csr).
Wyrzuca mi blad:
Warning: openssl_csr_sign(): key type not supported in this php build!
Nie mam pojecia, jak to obejsc, a musze miec klucz publiczny (certyfikat),
zeby odkodowac wiadomosc po 2-giej stronie.
Realizuje to kodem:
Kod
$ssl_configargs = array(
"digest_alg" => "sha1",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
"encrypt_key" => false
);
$dn = array("countryName" => $_POST[ 'country' ],
"stateOrProvinceName" => $_POST[ 'state' ],
"localityName" => $_POST[ 'city' ],
"organizationName" => $_POST[ 'org' ],
"organizationalUnitName" => $_POST[ 'unit' ],
"commonName" => $_POST[ 'name' ],
"emailAddress" => $_POST[ 'mail' ] );
$numberofdays = $_POST[ 'days' ];
$pkey = openssl_pkey_new( $ssl_configargs );
// tutaj pojawia sie juz blad
$csr = openssl_csr_new( $dn, $privkey, $ssl_configargs );
$sscert = openssl_csr_sign( $csr, null, $privkey, $numberofdays );
openssl_csr_export( $csr, $csrout );
openssl_x509_export( $sscert, $certout );
openssl_pkey_export( $privkey, $pkeyout, $configargs[
'licence_pwd' ] );
"digest_alg" => "sha1",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
"encrypt_key" => false
);
$dn = array("countryName" => $_POST[ 'country' ],
"stateOrProvinceName" => $_POST[ 'state' ],
"localityName" => $_POST[ 'city' ],
"organizationName" => $_POST[ 'org' ],
"organizationalUnitName" => $_POST[ 'unit' ],
"commonName" => $_POST[ 'name' ],
"emailAddress" => $_POST[ 'mail' ] );
$numberofdays = $_POST[ 'days' ];
$pkey = openssl_pkey_new( $ssl_configargs );
// tutaj pojawia sie juz blad
$csr = openssl_csr_new( $dn, $privkey, $ssl_configargs );
$sscert = openssl_csr_sign( $csr, null, $privkey, $numberofdays );
openssl_csr_export( $csr, $csrout );
openssl_x509_export( $sscert, $certout );
openssl_pkey_export( $privkey, $pkeyout, $configargs[
'licence_pwd' ] );
Juz zalamalem rece, bo nie mam pojecia, jak do tego podejsc, a jest to pilne
:/
Moze znacie, jakies rozwiazania (w php) dzialajace na podobnej zasadzie co
ssl. Chodzi mi o cos takiego, ze mam klucz prywatny i klucz publiczny.
Kluczem publicznym moge odczytac tylko wiadomosc zakodowana kluczem
prywatnym.
Z gory dzieki