续订SSL客户端证书

对于内部使用的基于Web的软件,必须从任何地方都可用,我已经创build了客户端证书,这些证书安装在授权用户的浏览器中。

现在,2012年结束,全部到期,需要更新。 我已经发放了PKCS#12证书(.p12)

在这里我的问题


因为这可能是有趣的,这里是我如何创build浏览器证书

# client private key openssl genrsa -des3 -out client.key 1024 # generate certificate signing request openssl req -new -key client.key -out client.csr # create certificate, sign with server key openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out client.crt # export into pkcs12 openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 

是否有可能延长客户端证书的生命周期?

不,这是不可能的。
客户证书有一定的有效期,不能更改。 唯一的可能性是创build一个新的有效date的证书。

我是否必须在所有客户端上重新安装证书,还是有另一种方法

您无法从服务器访问客户浏览器中的证书。 你可以做的是开发一个网页(用客户端证书进行authentication),允许用户创build一个新的证书并将其导入浏览器。
在此网页的服务器端,您可以使用去年使用的相同证书请求(安全性稍低)创build一个新的证书,或者使用您在数据库中关于该用户的信息创build一个新的证书请求。 你可以用openssl来完成,就像你在文章中描述的一样。

如何在Linux上使用openssl来更新/重新生成客户端证书

正如我在上一个问题中所写的,您需要创build一个新的证书。 您可以使用去年使用的证书请求来执行此操作,也可以创build一个新的证书(更安全但更复杂)。 然后,您需要使用服务器密钥签署该请求,并将其导出到pkcs12。

即使续签证书有些麻烦,我仍然坚持您当前的有效期(1年)。 因为证书的有效期越长,变化越大,一些授权用户就会被授权,但仍然有一个有效的证书。