ssl key and crt generation
| From: | Hugh Beaumont | Date: | Thu, 08 Jul 2004 02:49:33 +0000 |
| Subject: | ssl key and crt generation | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-189941@lists.php.net to get a copy of this message | ||
Hello List,
I'm trying to get the following code to work :
<?
$dn = array("countryName" => "US",
"stateOrProvinceName" => "state",
"localityName" => "town",
"organizationName" => "foo",
"organizationalUnitName" => "foo",
"commonName" => "www.domain.com",
"emailAddress" => "user@domain.com");
$privkey = openssl_pkey_new(array("config" =>
"/usr/share/ssl/openssl.cnf"));
// Generate a certificate signing request
$csr = openssl_csr_new($dn, $privkey);
// You will usually want to create a self-signed certificate at this
// point until your CA fulfills your request.
// This creates a self-signed cert that is valid for 365 days
$sscert = openssl_csr_sign($csr, null, $privkey, 365);
// Show any errors that occurred here
while (($e = openssl_error_string()) !== false) {
echo $e . "<br>\n";
}
openssl_csr_export($csr, $csrout);
openssl_pkey_export($privkey, $pkeyout, "");
openssl_x509_export($sscert, $crtout);
$match = openssl_x509_check_private_key($crtout, $pkeyout);
if ($match) {
echo "<p>Yes, these match</p>";
}
else {
echo "<pre>Error: crt and key do not match</pre>";
}
exit();
?>
The code is mainly from the php manual pages and notes.
It appears to correctly generate a key, csr and crt. However when I try to verify
them with:
openssl_x509_check_private_key()
I get a mismatch. Any ideas?
There are some errors generated on the csr creation but when I echo the text of the .crt and .key
they appear to be valid so I'm not too sure what is going on?
Is anyone aware of where I can find some code similiar to this that works (create csr and key on
demand). Thanks in advance!
__________________________________
Do you Yahoo!?
Yahoo! Mail - You care about security. So do we.
http://promotions.yahoo.com/new_mail