From 45969a00b74b5a240c0dc6e2c37f5381cd0cb65f Mon Sep 17 00:00:00 2001 From: lawrencehj <1934378145@qq.com> Date: 星期四, 26 八月 2021 23:57:38 +0800 Subject: [PATCH] 修正设备注册认证时验证Response计算的错误 --- src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java b/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java index 234920e..5ee3de6 100644 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java @@ -194,12 +194,13 @@ // 瀹㈡埛绔殢鏈烘暟锛岃繖鏄竴涓笉閫忔槑鐨勫瓧绗︿覆鍊硷紝鐢卞鎴风鎻愪緵锛屽苟涓斿鎴风鍜屾湇鍔″櫒閮戒細浣跨敤锛屼互閬垮厤鐢ㄦ槑鏂囨枃鏈�� // 杩欎娇寰楀弻鏂归兘鍙互鏌ラ獙瀵规柟鐨勮韩浠斤紝骞跺娑堟伅鐨勫畬鏁存�ф彁渚涗竴浜涗繚鎶� - //String cNonce = authHeader.getCNonce(); + String cnonce = authHeader.getCNonce(); // nonce璁℃暟鍣紝鏄竴涓�16杩涘埗鐨勬暟鍊硷紝琛ㄧず鍚屼竴nonce涓嬪鎴风鍙戦�佸嚭璇锋眰鐨勬暟閲� int nc = authHeader.getNonceCount(); - String ncStr = new DecimalFormat("00000000").format(nc); -// String ncStr = new DecimalFormat("00000000").format(Integer.parseInt(nc + "", 16)); + String ncStr = String.format("%08x", nc).toUpperCase(); + // String ncStr = new DecimalFormat("00000000").format(nc); + // String ncStr = new DecimalFormat("00000000").format(Integer.parseInt(nc + "", 16)); String A1 = username + ":" + realm + ":" + pass; String A2 = request.getMethod().toUpperCase() + ":" + uri.toString(); @@ -212,7 +213,7 @@ String HA2 = toHexString(mdbytes); logger.debug("HA1: " + HA1); logger.debug("HA2: " + HA2); - String cnonce = authHeader.getCNonce(); + // String cnonce = authHeader.getCNonce(); logger.debug("nonce: " + nonce); logger.debug("nc: " + ncStr); logger.debug("cnonce: " + cnonce); -- Gitblit v1.8.0