SSL证书永远不会让我眼花缭乱。我有一个网络应用程序,它会暂停来自合作伙伴的其他服务以获取某些数据。他们使用自签名或为公司生成的内部CA.问题是,只要另一端更新SSL证书,我的应用程序就会失败。这是因为我从他们的网站下载并导入我的app的java trustore的公共证书(.cer)与他们的新站点不匹配。要解决这个问题,我必须重新下载他们最新的公共服务器证书并再次导入我的java信任库。
假设他们使用一致的ROOT CA或中间CA证书来签署他们不断变化的SSL证书,我可以只导入ROOT CA或INTERMEDIATE CA一次并在我的java信任库中进行处理吗?因此,只要他们不更改ROOT CA或INTERMEDIATE CA,我的应用程序就可以拨打电话。
答案 0 :(得分:0)
因此,他们的自签名CERT不是从ROOT CA构建的。他们生成自己的CERT,因此默认情况下将其视为不可信。因此,每当他们生成一个新的时,就会发生这种情况:
这是设计使然,因为这类似于中间人攻击的相同结果。因此,您的客户仅信任某些CA。 CA的工作是针对证书进行认证,以查看它们的优劣。如果您可以在不了解CA的情况下即时添加证书,则CA真的不知道要信任哪些证书。
因此,可能存在一个中间证书颁发机构,该公司已向您开放或与他们合作为您提供证书。您将不得不要求他们查看他们是否正在使用可以连接到的所有CA。
我对此情况表示怀疑,因为您说他们正在使用“自签名”证书,这意味着它们与任何CA都不兼容。