diff --git a/gb28181-sip/src/main/java/cn/skcks/docking/gb28181/sip/utils/DigestAuthenticationHelper.java b/gb28181-sip/src/main/java/cn/skcks/docking/gb28181/sip/utils/DigestAuthenticationHelper.java index 659a541..10cef90 100644 --- a/gb28181-sip/src/main/java/cn/skcks/docking/gb28181/sip/utils/DigestAuthenticationHelper.java +++ b/gb28181-sip/src/main/java/cn/skcks/docking/gb28181/sip/utils/DigestAuthenticationHelper.java @@ -220,7 +220,7 @@ public class DigestAuthenticationHelper { } @SneakyThrows - public static AuthorizationHeader createAuthorization(String serverIp, int serverPort, String serverId, String deviceId,String password, WWWAuthenticateHeader www){ + public static AuthorizationHeader createAuthorization(String method,String serverIp, int serverPort, String serverId, String deviceId,String password, WWWAuthenticateHeader www){ String hostAddress = SipBuilder.createHostAddress(serverIp, serverPort); SipURI sipURI = SipBuilder.createSipURI(serverId, hostAddress); if (www == null) { @@ -249,7 +249,7 @@ public class DigestAuthenticationHelper { } } String HA1 = DigestUtil.md5Hex((deviceId + ":" + realm + ":" + password).getBytes()); - String HA2= DigestUtil.md5Hex((Request.REGISTER + ":" + sipURI.toString()).getBytes()); + String HA2= DigestUtil.md5Hex((method.toUpperCase() + ":" + sipURI.toString()).getBytes()); StringBuilder reStr = new StringBuilder(); reStr.append(HA1); diff --git a/gb28181-sip/src/test/java/cn/skcks/docking/gb28181/sip/utils/AuthenticationTest.java b/gb28181-sip/src/test/java/cn/skcks/docking/gb28181/sip/utils/AuthenticationTest.java index 7a7db45..fe06c8f 100644 --- a/gb28181-sip/src/test/java/cn/skcks/docking/gb28181/sip/utils/AuthenticationTest.java +++ b/gb28181-sip/src/test/java/cn/skcks/docking/gb28181/sip/utils/AuthenticationTest.java @@ -17,17 +17,17 @@ public class AuthenticationTest { @Test void test() { - AuthorizationHeader authorization = DigestAuthenticationHelper.createAuthorization(serverIp, serverPort, serverId, deviceId, "123456",null); + AuthorizationHeader authorization = DigestAuthenticationHelper.createAuthorization(Request.REGISTER, serverIp, serverPort, serverId, deviceId, "123456", null); log.info("\n{}", authorization); WWWAuthenticateHeader wwwAuthenticateHeader = DigestAuthenticationHelper.generateChallenge(domain); log.info("\n{}", wwwAuthenticateHeader); - authorization = DigestAuthenticationHelper.createAuthorization(serverIp, serverPort, serverId, deviceId, "123456",wwwAuthenticateHeader); + authorization = DigestAuthenticationHelper.createAuthorization(Request.REGISTER, serverIp, serverPort, serverId, deviceId, "123456", wwwAuthenticateHeader); log.info("\n{}", authorization); boolean passed = DigestAuthenticationHelper.doAuthenticatePlainTextPassword(Request.REGISTER, authorization, "123456"); - log.info("authorization passed {}",passed); + log.info("authorization passed {}", passed); } }