在Java servlet中使用x509 cert公钥

时间:2013-02-15 00:23:02

标签: java servlets x509certificate saml x509

我可以使用一些帮助。

我有一些非常粗略的要求,要建立单点登录到第三方网站。

我所说的文件说我需要:

创建X509证书公钥 将包含一些基本信息的SAML帖子发送到特定网址

使用plain(ASCII / UTF8)文本

在示例SAML断言中,X509证书应该如下所示:

 .....
 <ds:KeyInfo>
    <ds:X509Data>
        <ds:X509Certificate>xxxxxxxxxxxxxxxx</ds:X509Certificate>
     </ds:X509Data>
     <ds:KeyValue>
        <ds:RSAKeyValue>
           <ds:Modulus>xxxxxxxxxxxxxxxx</ds:Modulus>
           <ds:Exponent>xxxx</ds:Exponent>
        </ds:RSAKeyValue>
      </ds:KeyValue>
 ...

所以我创建了自签名证书,如果我使用命令

  

openssl x509 -noout -text -in ca.crt

我看到公钥,但它有8个换行符,看起来像这样:

 Subject Public Key Info:
      Public Key Algorithm: rsaEncryption
           RSA Public Key: (1024 bit)
             Modulus (1024 bit):
                01:a6:26:44:13:cb:ab:5d:37:83:b4:9f:25:a4:8f:
                73:b8:e3:8c:a6:8a:58:13:a8:4f:af:43:8f:13:4a:
                96:75:63:ba:8d:6a:43:9c:31:... etc

如何在RedHat linux上运行tomcat上的Java servlet中使用公钥。它是如何在内部和XML文档中工作的?

或者我在某个地方转错了?

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我通常使用类似的东西:

<KeyDescriptor use="signing">
            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                <ds:X509Data>
                    <ds:X509Certificate>    ...hRWRV+DyfQc9nO
                    </ds:X509Certificate>
                </ds:X509Data>
            </ds:KeyInfo>
        </KeyDescriptor>

换句话说,将“01:a6:26:44:13:”转换为“01a6264413”,没有换行符。

相关问题