客户端证书身份验证和用户注册

时间:2015-05-21 19:00:56

标签: openssl ibm-mobilefirst worklight-adapters worklight-server worklight-security

我目前正在阅读客户端X.509证书身份验证和用户注册教程({{3}} 并尝试用我当前的工作灯应用程序来实现它。我正在使用Worklight Studio 6.0

但是,我对authenticationConfig.xml设置有点困惑。我目前有一个适配器身份验证工作。我的应用程序的第一页提供了一个登录页面,而adapterChallenge处理程序将验证数据库的用户名和密码。以下代码段表示配置:

<customSecurityTest name="AuthRealm">
            <test isInternalUserID="true" realm="AdapterAuthRealm"/>
              <!-- <test isInternalUserID="true" realm="SampleAppRealm"/> -->
        </customSecurityTest>  

<realm name="AdapterAuthRealm" loginModule="NonValidatingLoginModule">
            <className>com.worklight.integration.auth.AdapterAuthenticator</className>
            <parameter name="login-function" value="AuthAdapter.onAuthRequired"></parameter>
            <parameter name="logout-function" value="AuthAdapter.onLogout"></parameter>
        </realm>

<loginModule name="NonValidatingLoginModule">
            <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
        </loginModule>

我不确定如何使用本教程的以下片段与我的设置相关联。我的安全测试是否成为第2步或第3步?我只是在我的安全测试(AuthRealm)下添加这些吗?

        <customSecurityTest name="customx509Tests">
                    <test realm="wl_antiXSRFRealm" step="1"/>
                    <test realm="wl_directUpdateRealm" mode="perSession" step="1"/>
                    <test realm="wl_userCertificateAuthRealm" isInternalUserID="true" step="1"/>
                    <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/>
                </customSecurityTest>

            <realm name="wl_userCertificateAuthRealm" loginModule="WLUserCertificateLoginModule">


    <className>com.worklight.core.auth.ext.UserCertificateAuthenticator</className>
                    <parameter name="dependent-user-auth-realm" value="SampleAppRealm" />
                    <parameter name="pki-bridge-class" value="com.worklight.core.auth.ext.UserCertificateEmbeddedPKI" />
                    <parameter name="embedded-pki-bridge-ca-p12-file-path" value="/path/to/certificates/directory/signingca/signing_ca.p12"/> 
                    <parameter name="embedded-pki-bridge-ca-p12-password" value="passSigningP12" />
                </realm>

<loginModule name="WLUserCertificateLoginModule">
            <className>com.worklight.core.auth.ext.UserCertificateLoginModule</className>
        </loginModule>

感谢任何建议。

1 个答案:

答案 0 :(得分:2)

用户身份验证功能是它自己独立的安全领域。它允许您指定在客户端未提供x509证书时使用的从属用户身份验证域。依赖领域主要用于将设备/用户/应用程序注册到PKI中。依赖领域可以是您选择的任何安全领域。

要将安全领域指定为依赖领域,请更改以下行:

<parameter name="dependent-user-auth-realm" value="SampleAppRealm" />

为:

<parameter name="dependent-user-auth-realm" value="AdapterAuthRealm" />

这是你的问题吗?

仅供参考,您可以在以下位置阅读有关该功能的更多信息:
https://www-01.ibm.com/support/knowledgecenter/?lang=en#!/SSHS8R_6.3.0/com.ibm.worklight.monitor.doc/monitor/c_user_CA.html

和服务器端PKI配置有关详细信息:
https://www-01.ibm.com/support/knowledgecenter/?lang=en#!/SSHS8R_6.3.0/com.ibm.worklight.monitor.doc/monitor/c_user_CA_PKIBridge.html