userlogined or reJSON("请先登录后再操作!", 404); } function set_status() { $_var_0 = SafeRequest("id", "post"); $_var_1 = SafeRequest("status", "post"); $_var_2 = db("super_cert")->where("id", $_var_0)->update(["status" => $_var_1]); reJSON($_var_2 ? "更改成功" : "没有做出更改", $_var_2 ? 200 : 404); } function del() { $_var_3 = SafeRequest("id", "post"); $_var_4 = db("super_cert")->where("id", $_var_3)->find(); $_var_5 = db("super_cert")->where("id", $_var_3)->delete(); if ($_var_5) { certMoveToNew($_var_4); @creatdir(IN_CERT_PATH . bees_encrypt($_var_4["iss"])); db("ios_device")->where("cert_iss", $_var_4["iss"])->delete(); } reJSON($_var_5 ? "删除成功" : "删除失败", $_var_5 ? 200 : 404); } function save() { $_var_6 = intval(SafeRequest("id", "post")); if ($_var_6) { $_var_7 = db("super_cert")->where("id", $_var_6)->find(); $_var_8 = $_var_7["iss"]; $_var_9 = $_var_7["kid"]; $_var_10 = getCert($_var_8, $_var_9); } else { $_var_11 = SafeRequest("team_id", "post"); if (!$_var_11) { reJSON("请输入账号", 404); } $_var_8 = SafeRequest("iss", "post"); if (!$_var_8) { reJSON("请输入iss", 404); } $_var_9 = SafeRequest("kid", "post"); if (!$_var_9) { reJSON("请输入kid", 404); } $_var_12 = $_FILES["p8"]; if (!$_var_12) { reJSON("请上传p8证书", 404); } $_var_13 = $_var_12["name"]; $_var_14 = pathinfo($_var_13); $_var_15 = strtolower($_var_14["extension"]); if ($_var_15 != "p8") { reJSON("请上传p8证书", 404); } $_var_16 = IN_CERT_PATH . $_var_8 . "/"; if (!is_dir($_var_16)) { @mkdir($_var_16, 0777, true); } $_var_10 = IN_CERT_PATH . getCert($_var_8, $_var_9, $_var_15); @move_uploaded_file($_FILES["p8"]["tmp_name"], $_var_10); $_var_17 = SafeRequest("mark", "post"); } if (!is_file($_var_10)) { reJSON("p8文件错误,请重新上传", 404); } if (!$_var_6 && ($_var_18 = db("super_cert")->where("iss", $_var_8)->find())) { reJSON("该证书已存在", 404); } $_var_19 = ["iss" => $_var_8, "kid" => $_var_9, "secret" => $_var_10]; $_var_20 = new Client($_var_19); $_var_20->setHeaders(["Authorization" => "Bearer " . $_var_20->getToken()]); $_var_21 = $_var_20->api("certificates")->all(["filter[certificateType]" => "IOS_DISTRIBUTION"]); if (isset($_var_21["errors"][0]["status"])) { reJSON($_var_21["errors"][0]["title"], 404); } if (count($_var_21["data"]) < 2) { $_var_22 = $_var_20->api("certificates")->reg(); if ($_var_22["data"]) { $_var_21["data"][] = $_var_22["data"]; } } $_var_23 = 0; $_var_24 = ""; foreach (array_reverse($_var_21["data"]) as $_var_25 => $_var_7) { $_var_26 = IN_CERT_PATH . getCert($_var_8, $_var_9, "cer"); file_put_contents($_var_26, base64_decode($_var_7["attributes"]["certificateContent"])); $_var_27 = 123456; $_var_28 = IN_CERT_PATH . "public/ios.key"; exec("openssl x509 -in " . $_var_26 . " -inform DER -outform PEM -out " . IN_CERT_PATH . getCert($_var_8, $_var_9, "pem") . " 2>&1", $_var_29, $_var_30); file_put_contents(IN_TMP_PATH . "supercert_add_openssl.log", $_var_29); exec("openssl pkcs12 -export -inkey " . $_var_28 . " -in " . IN_CERT_PATH . getCert($_var_8, $_var_9, "pem") . " -out " . IN_CERT_PATH . getCert($_var_8, $_var_9, "p12") . " -passout pass:" . $_var_27, $_var_29, $_var_30); file_put_contents(IN_TMP_PATH . "supercert_add_openssl2.log", $_var_29); if (file_get_contents(IN_CERT_PATH . getCert($_var_8, $_var_9, "p12"))) { $_var_23 = $_var_7["id"]; $_var_24 = $_var_7["attributes"]["expirationDate"]; break; } } if (!$_var_23) { reJSON("没有可使用的证数文件", 404); } $_var_31 = $_var_20->api("device")->all(["limit" => 200]); if (isset($_var_31["data"])) { foreach ($_var_31["data"] as $_var_25 => $_var_32) { if (!db("ios_device")->where("udid", $_var_32["attributes"]["udid"])->where("cert_iss", $_var_8)->count()) { db("ios_device")->insert(["app_id" => 0, "udid" => $_var_32["attributes"]["udid"], "cert_iss" => $_var_8]); } } $_var_33["total_count"] = $_var_31["meta"]["paging"]["total"]; $_var_33["limit_count"] = 100 - $_var_33["total_count"]; } $_var_33["expirationDate"] = $_var_24 ? strtotime($_var_24) : time(); if ($_var_6) { $_var_33["tid"] = $_var_23; $_var_34 = db("super_cert")->where("id", $_var_6)->update($_var_33); } else { $_var_35 = SafeRequest("user_id", "post"); $_var_33 = array_merge($_var_33, ["user_id" => $_var_35 ? $_var_35 : 0, "team_id" => $_var_11, "iss" => $_var_8, "kid" => $_var_9, "tid" => $_var_23, "mark" => $_var_17, "p8_file" => getCert($_var_8, $_var_9), "p12_file" => getCert($_var_8, $_var_9, "p12"), "p12_pwd" => $_var_27, "create_time" => time(), "status" => 1, "type" => 0]); $_var_34 = db("super_cert")->insert($_var_33); } reJSON($_var_6 ? "更新成功" : "生成成功", 200); } }