Articles of x509

如何拆分PEM文件

注意:这不是一个真正的问题,因为我已经find了答案,但是因为我在这里找不到它,所以我会发布它,这样可以使其他人受益。 问题:如何读取apache / mod_ssl指令SSLCACertificateFile使用的连接的PEM文件? 回答(原创) ( 来源 ): cat $file|awk 'split_after==1{n++;split_after=0} /—–END CERTIFICATE—–/ {split_after=1} {print > "cert" n ".pem"}' 如果最后有一个空行,这可能会留下一个空文件,例如使用openssl pkcs7 -outform PEM -in my-chain-file -print_certs 。 为防止出现这种情况,请在打印之前检查行的长度: cat $file|awk 'split_after==1{n++;split_after=0} /—–END CERTIFICATE—–/ {split_after=1} {if(length($0) > 0) print > "cert" n ".pem"}' 回答29/03/2016 : 在@slugchewer 答案之后 , csplit可能是一个更清晰的选项: csplit -f cert- $file '/—–BEGIN CERTIFICATE—–/' '{*}'

自签名SSL证书是否属于安全漏洞?

自签名SSL证书是否具有错误的安全感? 如果你被窃听,用户会像他/她一样接受证书。

信任一个不可信的CA–我能限制系统如何信任它吗?

(发布到ServerFault而不是StackOverflow,因为我觉得它涉及的操作系统configuration比编程代码更多)。 我目前负责维护连接到第三方Web服务的系统。 这个web服务需要客户端authentication证书,这是公平的,但web服务本身是由一个自我创build的根证书颁发机构证书创build的自签名证书保护的,这个证书是创build客户端authentication证书的根。 仅仅将当前的服务证书添加到已知的信任列表就足够了,而忽略自build的授权证书,不幸的是,服务证书会定期更改,因此必须信任授权证书,以确保应用程序不会在服务证书更新。 然而,根据我在运行Web服务的公司的经验,我不(个人)信任CA证书 – 如果它泄漏到Web上,我不会感到意外 – 而且令人担忧的是,CA证书没有对密钥使用进行限制它(虽然外部的MITM攻击是可能的,尽pipe很遥远,我更关心用于代码签名的泄漏证书)。 是否可以告诉我的计算机(目前是一个服务器盒,但是在将来的普通桌面客户端的盒子中)信任一个CA,但是只有一组给定的密钥用法和一小组可能的主题名称(域名)? 该服务器目前是Windows Server 2012 R2,但它可以在Linux机器上运行 – 尽pipe桌面机器都是Windows机器。