風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1650
发帖:73 篇
来自:保密
注册:2022/3/30 15:28:53
造访:2025/1/13 21:36:27
[ 第 1 楼 ]
回复
https://free.bkssl.com/
1、填写联系邮箱,选择“浏览器生成”,然后填写需要申请的证书域名,点击“立即申请证书”。
2、保存私钥(合成 pfx 时需要用),并点击“立即前往验证”。
3、申请成功,复制证书内容。
如果是 IIS,需要点击顶部菜单
SSL / PFX在线合并/生成:
1、填入证书内容
2、填入前面保存的私钥
3、私钥密码默认为空,密码和确认密码填入你需要设置的密码(例如 1)
4、生成 pfx
2024/9/29 21:45:35
IP:已设置保密
風雲 (ID: 3)
头衔:论坛版主
等级:大天使
积分:1650
发帖:73 篇
来自:保密
注册:2022/3/30 15:28:53
造访:2025/1/13 21:36:27
[ 第 2 楼 ]
回复
前面点击“立即前往验证”其实是需要验证域名所有权的,我们可以使用 HTTP 验证,IIS 下可以使用重写机制实现后续申请时的自动验证:
1、编写一个 asp 请求文件(veriSsl.asp):
<%@ Language="LiveScript" %><%
var path = Request.QueryString("path").Item;
var xhr = new ActiveXObject("MsXml2.ServerXmlHttp");
xhr.open("GET", "https://free.bkssl.com" + path, true);
xhr.send(); xhr.waitForResponse();
Response.Write(xhr.responseText);
%>
2、用 JS 编写一个重写模块(App_Code/Rewrite.js):
import System;
import System.Web;
package Rimifon {
class UrlRewrite implements IHttpModule {
static var cfg = [
[ /^(\/\.well-known\/)/i, "/veriSsl.asp?path=$1" ]
];
function Init(ha : HttpApplication) {
ha.add_BeginRequest(doUrlRewrite);
}
function doUrlRewrite(obj, ea : EventArgs) {
var ctx : HttpContext = obj.Context;
var qstr = ctx.Request.ServerVariables["QUERY_STRING"];
var path = ctx.Request.Path;
if(!!qstr) qstr = "&" + qstr;
function testUrl(reg, url) {
if(!reg.test(path)) return false;
ctx.RewritePath(path.replace(reg, url) + qstr);
return true;
}
for(var i = 0; i < cfg.length; i++) {
if(testUrl.apply(cfg, cfg[i])) return;
}
}
function Dispose() { }
}
}
3、加载重写模块:
<configuration>
<system.webServer>
<modules>
<add name="UrlRewrite" type="Rimifon.UrlRewrite" />
</modules>
</system.webServer>
</configuration>
2024/9/29 22:48:01
IP:已设置保密