手动验证SSL自签名证书签名 - javascript

时间:2018-01-09 13:38:08

标签: javascript node.js ssl https

我尝试手动验证自签名证书但过程不明确。 我使用我也创建的 ca.crt 文件创建了自签名证书 server.cert

我将server.key + server.crt提供给我的SSL服务器。

现在,客户端如何验证server.cert(假设服务器发送它为server.cert)?

据我所知,在创建server.crt时,ca应该使用ca的私钥加密Hash(server.cert),整个事情(包括签名)是服务器证书。那我该如何验证证书呢?我想我在某种程度上需要在我的客户端使用ca.cert?因为ca.cert还包含ca.public键,但是我需要对server.crt做什么才能说签名是正确的?

1 个答案:

答案 0 :(得分:0)

服务器需要提供由任何授权机构签名的适当证书。那权威可能是你自己,没关系。问题是客户端默认不信任“你”。客户端信任其他CA证书的原因是因为它附带了一长串已知和可信的CA;并且“你”不在该名单上。要获取该列表并使其受信任,请将CA证书添加到本地信任库。通常由操作系统管理并详细说明如何向其添加证书会有所不同,但每个应用程序(例如浏览器)也可能拥有自己的信任存储区而不使用操作系统。