SSTP VPN 服务器的自签名证书

SSTP VPN 服务器的自签名证书

我正在开发一个自定义 VPN 解决方案,需要支持 Windows 客户端的 SSTP。为此,SSTP 规范(和 Windows)要求我的服务器在 SSL 握手期间使用证书进行身份验证。然后,Windows 将使用其本地的一组受信任证书并决定是继续还是断开连接。

我想避免使用 Verisign 的官方证书,原因有二:首先,它需要花钱,而该项目目前还没有资金;其次(更重要的是),正如所述这里,Windows 将需要互联网连接才能检查此证书是否已被吊销,然后才会接受连接,除非我让我的用户在他们的注册表中搜索以关闭此功能,但我宁愿避免这种情况。问题是 VPN 将是客户端计算机上网的唯一方式,因此这将带来一个先有鸡还是先有蛋的问题:您需要互联网才能上网...

我发过一个关于信息安全 SE 的问题询问要求用户安装证书的安全隐患,听起来我需要非常小心我创建的证书的确切类型,因为不幸的是,Windows 要求将此证书安装到受信任的根证书颁发机构本地计算机,即最危险的地方。

从我在 ISSE 上得到的答案来看,我似乎需要生成一个最终用户证书不允许签名用法

我该如何创建这样的证书,它只能用于验证我的一台服务器,但不能被滥用来签署其他证书以进行 TLS 中间人攻击等,即使它安装在受信任的根证书颁发机构

另外,是否有办法让我的用户在安装过程中验证该证书确实是安全的并且不会使系统受到攻击,如果有人掌握了证书的私钥?

相关内容