JBoss相互认证实现

时间:2019-01-10 11:22:04

标签: jboss mutual-authentication

我正在尝试使用SSL上的双向身份验证将JBoss 5.2部署的应用程序连接到远程服务器(M2M)。直到今天,我一直在使用基于用户/通行证的身份验证。 据我了解,要使握手正常进行,我应该将客户端证书发送到要访问的远程服务器。 所以我已经在数据源中定义了:

<tx-connection-factory>
    <jndi-name>ApplicationDS</jndi-name>
    <use-java-context>true</use-java-context>
    <xa-transaction/>
    <rar-name>xxx.rar</rar-name>
    <connection-definition>javax.resource.cci.ConnectionFactory</connection-definition>
    <config-property name="ServerName" type="java.lang.String">MYRemoteServer</config-property>
    <config-property name="ConnectionURL" type="java.lang.String">tcp://10.10.10.10</config-property>
    <config-property name="PortNumber" type="java.lang.String">9999</config-property>
    <config-property name="TraceLevel" type="java.lang.Integer">0</config-property>
    <min-pool-size>1</min-pool-size>
    <max-pool-size>20</max-pool-size>
    <security-domain>Test_Mutual_SSL</security-domain>
  </tx-connection-factory>

我对我的login-config.xml进行了如下修改:

<application-policy name="Test_Mutual_SSL">
        <authentication>
            <login-module code="org.jboss.security.auth.spi.BaseCertLoginModule" flag="required">  
                <module-option name="password-stacking">useFirstPass</module-option>  
                <module-option name="securityDomain">java:/jaas/SSL</module-option>  
                <module-option name="verifier">org.jboss.security.auth.certs.AnyCertVerifier</module-option>  
            </login-module>  
        </authentication>

我已将包含客户端证书的密钥存储引用到Test_Mutual_SSLdomain-service.xml到部署目录中,如下所示:

<server>
    <mbean code="org.jboss.security.plugins.JaasSecurityDomain" name="jboss.security:service=SecurityDomain">
        <constructor>
            <arg type="java.lang.String" value="Test_Mutual_SSL"/>
        </constructor>
        <attribute name="KeyStoreURL">
            ${jboss.server.home.dir}/conf/server.truststore
        </attribute>
        <attribute name="KeyStorePass">serverpass</attribute>
        <depends>jboss.security:service=JaasSecurityManager</depends>
    </mbean>
</server>

不过,我在使事情顺利方面没有运气。我得到的错误是:

WARN  [org.jboss.security.auth.spi.BaseCertLoginModule] Don't know how to obtain X509Certificate from: class java.lang.String

非常感谢任何帮助。

0 个答案:

没有答案