利用PKI来进行认证
我们需要使用一个完成的PKI基础设施,创建自己的证书授权中心,并且客户端和服务端都需要支持TLS认证。
秘钥的生成和证书的签发都有现成的文档,不做叙述。这里只说三个重点。
服务端
服务端有两个参数需要注意一下
--tls:
只启用TLS,而不适用客户端的验证功能,类似于https
--tlsverify:
启用客户端的验证功能
客户端
客户端有两个参数需要注意一下
--tls:
只启用TLS,而不适用客户端的验证功能,类似于https
--tlsverify:
启用客户端的验证功能
服务端和客户端启用的参数需要一致。
客户端证书
需要增加一个额外的扩展字段
extendedKeyUsage = clientAuth
下面是相关资料
The following extended key usage purposes are defined by RFC 3280:
serverAuth (1.3.6.1.5.5.7.3.1) -- TLS Web server authentication
clientAuth (1.3.6.1.5.5.7.3.2) -- TLS Web client authentication
codeSigning (1.3.6.1.5.5.7.3.3) -- Code signing
emailProtection (1.3.6.1.5.5.7.3.4) -- E-mail protection
timeStamping (1.3.6.1.5.5.7.3.8) -- Timestamping
ocspSigning (1.3.6.1.5.5.7.3.9) -- OCSPstamping
网友评论