2

我练习基于 mobicents sip servlet 的 sip 场景。我有 Restcomm-JBoss-AS7-8.2.0.1221 和我自己的 sip 应用程序部署在它上面(restcomm 应用程序被禁用)。我在启用 jboss 安全性时遇到了问题。我做了什么:

1.创建 sip-servlets-roles.properties

admin=caller

2.创建sip-servlets-users.properties(对于用户alice,域192.168.56.101,密码1234)

admin=6f8002e56ee173a3a39144ea90d18a39

3.将以上文件放到../Restcomm-JBoss-AS7-8.2.0.1221/standalone/configuration

4.使用sip.xml部署sip应用

<security-constraint>
    <display-name>REGISTER Method Security Constraint</display-name>
    <resource-collection>
        <resource-name>SipServletApp</resource-name>
        <description>Require authenticated REGSITER requests</description>
        <servlet-name>SipServletApp</servlet-name>
        <sip-method>REGISTER</sip-method>
    </resource-collection>
    <auth-constraint>
        <role-name>caller</role-name>
    </auth-constraint>
</security-constraint>
<login-config>
    <auth-method>DIGEST</auth-method>
    <realm-name>192.168.56.101</realm-name>
</login-config>

5.standalone-sip.xml不变

<security-domain name="sip-servlets">
                <authentication>
                    <login-module code="UsersRoles" flag="required">
                        <module-option name="usersProperties" value="${jboss.server.config.dir}/sip-servlets-users.properties"/>
                        <module-option name="rolesProperties" value="${jboss.server.config.dir}/sip-servlets-roles.properties"/>
                        <module-option name="hashAlgorithm" value="MD5"/>
                        <module-option name="hashEncoding" value="RFC2617"/>
                        <module-option name="hashUserPassword" value="false"/>
                        <module-option name="hashStorePassword" value="true"/>
                        <module-option name="passwordIsA1Hash" value="true"/>
                        <module-option name="storeDigestCallback" value="org.jboss.security.auth.callback.RFC2617Digest"/>
                    </login-module>
                </authentication>
            </security-domain>

6.尝试用zoiper wireshark trace注册用户alice

7.启用跟踪级别并在jboss日志中出错

14:14:10,140 DEBUG [org.jboss.security] (Restcomm-SIP-Servlets-UDPMessageChannelThread-44) PBOX000206: Login failure: javax.security.auth.login.LoginException: java.lang.NullPointerException
    at org.jboss.security.auth.spi.Util.createPasswordHash(Util.java:424)
    at org.jboss.security.auth.spi.UsernamePasswordLoginModule.createPasswordHash(UsernamePasswordLoginModule.java:450)
    at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:280)
...

8.DAR 设置为我的 sip 应用

所以问题是这个配置有什么问题?

4

1 回答 1

0

您的商店密码,即。admin=6f8002e56ee173a3a39144ea90d18a39 已经散列。module-option name="hashStorePassword" value="true", 应该是 value="false"

于 2019-03-05T01:48:17.813 回答