一次回答您的问题;
SSL的现代的实现一般被认为是相当 岩石固体;其使用的银行,医疗机构,和主要 互联网公司。以纯文本格式发送数据,通过SSL,对于这些应用程序来说足够安全,并且试图用 代替SSL,您自己的加密方案几乎肯定比它的价值更麻烦。 您应该可能获得自己的SSL证书;我不知道Azure在https访问上有什么限制(如果有的话),以及依赖于您无法控制的密钥的惯例。
SSL依赖于信任网络;浏览器(和其他互联网应用程序)验证站点发送它们的证书是否与一组受信任的权限相关。如果证书已被批准 (使用授权机构的私钥签名),则浏览器接受 证书为真品,并使用该证书与网站协商SSL连接 ,而无需进一步投诉。这就是绿色 挂锁/地址栏的意思;一个网站提供了由浏览器信任的授权机构签署的有效的 证书。但这并不是 ,这意味着签名证书本质上比 未签名证书更安全。两者都使用相同的密码 算法,并且(可以)具有相同的长度密钥,并且每个可以设置的SSL连接都同样安全。两者之间的差异 是您无法验证 未签名/自签名证书的“真实性”;攻击者可能会拦截 连接,并用自己的 证书替换未签名的证书,并且浏览器无法判断它是否获得了 正确的证书。但是,您可以在 应用程序中克服此问题,但使用名为“certificate pinning”的技术。 实质上,您将您的证书的公钥与您的应用程序打包为 ,并且您的应用程序只在设置连接时接受与该密钥关联的证书 。
最终,它取决于您的攻击者模型。你是否保护这些数据免受犯罪分子和随意窃听者的侵害?或者你是否试图将它从政府监视和情报机构中隐藏起来?对于前者,由信誉良好的权威机构签署并签发的SSL证书是绰绰有余的。对于后者,你必须考虑你的证书来自哪里,谁可以访问发布它的根CA;最好自己创建一个,并在SSL之上设计一些进一步的方案。
关于“生成自己的”证书的最后部分假定OPs网站是安全的。 – zaph
如果他的网站足够危及攻击者可能会影响SSL证书的生成,那么攻击者当然可以窃取任何购买的证书OP。否则,我不确定你的意思? –
同意。如果服务器不比CA更安全,为什么要生成自己的证书?对于被OS /浏览器识别的CA,CA保护优于高于普通用户的站点。 – zaph