Bootstrap

私有接口添加HTTPS私有证书及客户端验证

有些布在公网的私有接口不想被他人使用, 需要添加一些验证方式。

一般的公开接口只有客户端的TOKEN认证, 这样可以验证提交到接口的数据是否是允许的客户端提交的. 但这样无法验证接口的真实性, 也无法防止中间人攻击。

本文主要研究给私有接口添加HTTPS连接并验证客户端真实性。

服务器证书

生成私有证书

要生成证书首先要有个私钥:

openssl genrsa -out ssl.key 2048

之后生成证书请求:

openssl req -new -key ssl.key -days 3650 -out ssl.csr

其中days参数是证书有效期.

此时需要填一些资料, 作为证书信息。 不过除了Common Name需要填实际域名或IP外, 其他的可以随便填。

最后生成的ssl.csr就是证书请求了。 一般来说证书请求是发给公开CA签名, 但私有接口就没必要去找它们签名了。

可以直接用自己的私钥签名刚刚生成的证书请求:

openssl x509 -req -in ssl.csr -signkey ssl.key -out ssl.crt

不过如果需要签更多证书请求或者要使用CA证书的话, 就需要自己生成私有CA证书:

openssl x509 -req -in ssl.csr -extensions v3_ca -signkey ssl.key -out sign.crt

用CA证书给自己的证书请求签名:

openssl x509 -req -in ssl.csr -extensions v3_usr -CA sign.crt -CAkey ssl.key -CAcreateserial -days 3650 -out ssl.crt

这样就

;