function CreateNewCA() { if (!$GLOBALS['isCA']) { return false; } // CA私钥 $CAPrivKey = new Crypt_RSA(); $keyArray = $CAPrivKey->createKey($GLOBALS['RSALength']); $CAPrivKey->loadKey($keyArray['privatekey']); $pubKey = new Crypt_RSA(); $pubKey->loadKey($keyArray['publickey']); $pubKey->setPublicKey(); // CA 公钥 x509 $subject = new File_X509(); $subject->setDNProp('id-at-organizationName', $GLOBALS['CAname'] . ' CA'); $subject->setPublicKey($pubKey); $issuer = new File_X509(); $issuer->setPrivateKey($CAPrivKey); $issuer->setDN($CASubject = $subject->getDN()); $x509 = new File_X509(); $x509->makeCA(); $result = $x509->sign($issuer, $subject); setConfig_CAPublishX509($x509->saveX509($result)); setConfig_CAPrivateKey($keyArray['privatekey']); return true; }
function setConfig_CAPublishPEM($value) { setConfig_CAPublishX509($value); }