Commit d3578a957d17af13ef6b17bfffdb9335111f92e4
1 parent
568141b2
添加对水星云台控制的支持
Showing
2 changed files
with
3 additions
and
54 deletions
src/main/java/com/genersoft/iot/vmp/gb28181/auth/DigestServerAuthenticationHelper.java
| ... | ... | @@ -235,55 +235,4 @@ public class DigestServerAuthenticationHelper { |
| 235 | 235 | return mdString.equals(response); |
| 236 | 236 | |
| 237 | 237 | } |
| 238 | - | |
| 239 | - | |
| 240 | - public static void main(String[] args) throws NoSuchAlgorithmException { | |
| 241 | - MessageDigest messageDigest2 = MessageDigest.getInstance(DEFAULT_ALGORITHM); | |
| 242 | - String realm = "DS-2CD2520F"; | |
| 243 | - String username = "admin"; | |
| 244 | - String passwd = "12345"; | |
| 245 | - | |
| 246 | - String nonce = "4d6a553452444d30525441364e6d4d304e6a68684e47553d"; | |
| 247 | - | |
| 248 | - String uri = "/ISAPI/Streaming/channels/101/picture"; | |
| 249 | - // qop 保护质量 包含auth(默认的)和auth-int(增加了报文完整性检测)两种策略 | |
| 250 | - String qop = "auth"; | |
| 251 | - | |
| 252 | - // 客户端随机数,这是一个不透明的字符串值,由客户端提供,并且客户端和服务器都会使用,以避免用明文文本。 | |
| 253 | - // 这使得双方都可以查验对方的身份,并对消息的完整性提供一些保护 | |
| 254 | - String cNonce = "C1A5298F939E87E8F962A5EDFC206918"; | |
| 255 | - | |
| 256 | - // nonce计数器,是一个16进制的数值,表示同一nonce下客户端发送出请求的数量 | |
| 257 | - int nc = 1; | |
| 258 | - | |
| 259 | - String A1 = username + ":" + realm + ":" + passwd; | |
| 260 | - System.out.println("A1: " + A1); | |
| 261 | - String A2 = "GET" + ":" + uri.toString(); | |
| 262 | - System.out.println("A2: " + A2); | |
| 263 | - byte mdbytes[] = messageDigest2.digest(A1.getBytes()); | |
| 264 | - String HA1 = toHexString(mdbytes); | |
| 265 | - System.out.println("HA1: " + HA1); | |
| 266 | - | |
| 267 | - mdbytes = messageDigest2.digest(A2.getBytes()); | |
| 268 | - String HA2 = toHexString(mdbytes); | |
| 269 | - System.out.println("HA2: " + HA2); | |
| 270 | - String cnonce = "93d4d37df32e1a85"; | |
| 271 | - String KD = HA1 + ":" + nonce; | |
| 272 | - | |
| 273 | - if (nc != -1) { | |
| 274 | - KD += ":" + "00000001"; | |
| 275 | - } | |
| 276 | - if (cnonce != null) { | |
| 277 | - KD += ":" + cnonce; | |
| 278 | - } | |
| 279 | - if (qop != null) { | |
| 280 | - KD += ":" + qop; | |
| 281 | - } | |
| 282 | - KD += ":" + HA2; | |
| 283 | - System.out.println("KD: " + KD); | |
| 284 | - mdbytes = messageDigest2.digest(KD.getBytes()); | |
| 285 | - String mdString = toHexString(mdbytes); | |
| 286 | - String response = "3993a815e5cdaf4470e9b4f9bd41cf4a"; | |
| 287 | - System.out.println(mdString); | |
| 288 | - } | |
| 289 | 238 | } | ... | ... |
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
| ... | ... | @@ -232,7 +232,7 @@ public class SIPCommander implements ISIPCommander { |
| 232 | 232 | ptzXml.append("</Info>\r\n"); |
| 233 | 233 | ptzXml.append("</Control>\r\n"); |
| 234 | 234 | |
| 235 | - Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", "ToPtzTag"); | |
| 235 | + Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", null); | |
| 236 | 236 | |
| 237 | 237 | transmitRequest(device, request); |
| 238 | 238 | return true; |
| ... | ... | @@ -268,7 +268,7 @@ public class SIPCommander implements ISIPCommander { |
| 268 | 268 | ptzXml.append("</Info>\r\n"); |
| 269 | 269 | ptzXml.append("</Control>\r\n"); |
| 270 | 270 | |
| 271 | - Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", "ToPtzTag"); | |
| 271 | + Request request = headerProvider.createMessageRequest(device, ptzXml.toString(), "ViaPtzBranch", "FromPtzTag", null); | |
| 272 | 272 | transmitRequest(device, request); |
| 273 | 273 | return true; |
| 274 | 274 | } catch (SipException | ParseException | InvalidArgumentException e) { |
| ... | ... | @@ -635,7 +635,7 @@ public class SIPCommander implements ISIPCommander { |
| 635 | 635 | catalogXml.append("<DeviceID>" + device.getDeviceId() + "</DeviceID>\r\n"); |
| 636 | 636 | catalogXml.append("</Query>\r\n"); |
| 637 | 637 | |
| 638 | - Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "ViaDeviceInfoBranch", "FromDeviceInfoTag", "ToDeviceInfoTag"); | |
| 638 | + Request request = headerProvider.createMessageRequest(device, catalogXml.toString(), "ViaDeviceInfoBranch", "FromDeviceInfoTag", null); | |
| 639 | 639 | |
| 640 | 640 | transmitRequest(device, request); |
| 641 | 641 | ... | ... |