certDir = $certDir; } @creatdir($this->certDir); if ($debug) { $this->debug = $debug; } } function create($_var_0, $_var_1 = '123456', $_var_2 = '123456') { $_var_3 = $this->certDir . $_var_0 . ".jks"; if (!is_file($_var_3)) { $_var_4["alias"] = $_var_0; $_var_4["keypass"] = $_var_2; $_var_4["keyalg"] = "RSA"; $_var_4["keysize"] = "1024"; $_var_4["validity"] = "365"; $_var_4["keystore"] = $_var_3; $_var_4["storepass"] = $_var_1; $_var_4["-dname"] = "\"CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)\""; $_var_5 = "keytool -genkey "; foreach ($_var_4 as $_var_6 => $_var_7) { $_var_5 .= "-" . $_var_6 . " " . $_var_7 . " "; } exec($_var_5, $_var_8); $this->debug && @file_put_contents("keystore-create.log", $_var_5 . "\n\n\n" . $_var_8); } return $_var_3; } function getCer($_var_9, $_var_10 = '123456', $_var_11 = '123456') { $_var_12 = $this->create($_var_9, $_var_10, $_var_11); $_var_13 = $this->certDir . $_var_9 . ".cer"; if (!is_file($_var_13)) { $_var_14 = "keytool -list -rfc -keystore " . $_var_12 . " -storepass " . $_var_10; exec($_var_14, $_var_15); $this->debug && @file_put_contents("keystore-getCer.log", $_var_14 . "\n\n\n" . $_var_15); $_var_16 = false; $_var_17 = ""; foreach ($_var_15 as $_var_18) { if ($_var_18 == "-----BEGIN CERTIFICATE-----") { $_var_16 = true; } if ($_var_16) { $_var_17 .= $_var_18 . "\n"; } if ($_var_18 == "-----END CERTIFICATE-----") { $_var_16 = false; } } file_put_contents($_var_13, $_var_17); } return $_var_13; } function getPfx($_var_19, $_var_20 = '123456', $_var_21 = '123456') { $_var_22 = $this->create($_var_19, $_var_20, $_var_21); $_var_23 = $this->certDir . $_var_19 . ".pfx"; if (!is_file($_var_23)) { $_var_24 = "keytool -noprompt -importkeystore -srckeystore " . $_var_22 . " -srcstoretype jks -srcstorepass " . $_var_20 . " -destkeystore " . $_var_23 . " -deststoretype pkcs12 -deststorepass " . $_var_20 . " -destkeypass " . $_var_21; exec($_var_24, $_var_25); $this->debug && @file_put_contents("keystore-getPfx.log", $_var_24 . "\n\n\n" . $_var_25); } return $_var_23; } function getKey($_var_26, $_var_27 = '123456', $_var_28 = '123456') { $_var_29 = $this->getPfx($_var_26, $_var_27, $_var_28); $_var_30 = $this->certDir . $_var_26 . ".key"; if (!is_file($_var_30)) { $_var_31 = "openssl pkcs12 -in " . $_var_29 . " -nodes -out " . $_var_30 . " -passin pass:" . $_var_27 . " -passout pass:" . $_var_27; exec($_var_31, $_var_32); $this->debug && @file_put_contents("keystore-getKey.log", $_var_31 . "\n\n\n" . $_var_32); } return $_var_30; } function getPk8($_var_33, $_var_34 = '123456', $_var_35 = '123456') { $_var_36 = $this->getKey($_var_33, $_var_34, $_var_35); $_var_37 = $this->certDir . $_var_33 . ".pk8"; if (!is_file($_var_37)) { $_var_38 = "openssl pkcs8 -topk8 -outform DER -in " . $_var_36 . " -inform PEM -out " . $_var_37 . " -nocrypt"; exec($_var_38, $_var_39); $this->debug && @file_put_contents("keystore-getPk8.log", $_var_38 . "\n\n\n" . $_var_39); } return $_var_37; } }