wsdl KeyInfo部分显示安全密钥数据。这是正常的吗?

时间:2011-05-26 14:08:07

标签: .net wcf security x509certificate

wsdl keyinfo部分显示了我的ssl证书的安全信息。这是正常的吗?这可以被客户看到吗?这是我的样子,我改变了X509Certificate:

之间的值
<KeyInfo>
    <X509Data>
        <X509Certificate>
        IIEqjCCApKgAwIBAgIQFhCbhuU2Y7FLY0J7OJrZdTANBgkqhkiG9w0
        BAQUFADARMQ8wDQYDVQQDEwZGdXppb24wHhcNMTEwNTA5MD
        QwMDAwWhcNMjEwNTE2MDQwMDAwWjARMQ8wDQYDVQQDEw
        ZGdXppb24wggIiMA0GCSqGSIb3DQEBAQUAA4
        </X509Certificate>
    </X509Data>
</KeyInfo>

1 个答案:

答案 0 :(得分:4)

证书仅包含您的公钥和将此公钥绑定到您的身份的额外信息(以及可以使用它的目的)。

.Net有一个X509Certificate2类来为证书建模。这个类还有一个包含私钥的属性,但这只是为了方便起见:私钥不是实际证书的一部分。

使用XML-Dsig(可能通过WSDL),KeyInfo/X509Data/X509Certificate元素仅包含PEM格式的X.509证书。这是正常的,因为它允许远程方匹配文档的签名和身份:文档的签名是根据证书的公钥进行验证的,并且证书声明了身份,其签名是根据可信CA证书进行验证的。 / p>

如果您没有公钥,远程方将无法在事先不知道期望的密钥的情况下验证签名。 如果您没有包含公钥和与身份相关的断言的证书,则远程方将无法知道谁签署了该文档。