ProxyAuthorizationHeader authHeader = (ProxyAuthorizationHeader) request.getHeader(ProxyAuthorizationHeader.NAME); if ( authHeader == null ) return false; String realm = authHeader.getRealm(); String username = authHeader.getUsername(); String nonce = authHeader.getNonce(); URI uri = authHeader.getURI(); if (uri == null) { return false; String HA2 = toHexString(mdbytes); String cnonce = authHeader.getCNonce(); String KD = HA1 + ":" + nonce; if (cnonce != null) { mdbytes = messageDigest.digest(KD.getBytes()); String mdString = toHexString(mdbytes); String response = authHeader.getResponse();
(ProxyAuthorizationHeader) authHeaderIterator.next(); MobicentsAuthInfoEntry authInfoEntry = getSipSession().getSipSessionSecurity().getCachedAuthInfos().get(proxyAuthHeader.getRealm()); nextNonce = getSipSession().getSipSessionSecurity().getNextNonce(); } else { nextNonce = proxyAuthHeader.getNonce();
protected void removeStaleAuthHeaders(WWWAuthenticateHeader responseAuthHeader) { String realm = responseAuthHeader.getRealm(); ListIterator<Header> authHeaderIterator = message.getHeaders(AuthorizationHeader.NAME); if(authHeaderIterator.hasNext()) { message.removeHeader(AuthorizationHeader.NAME); while(authHeaderIterator.hasNext()) { AuthorizationHeader wwwAuthHeader = (AuthorizationHeader) authHeaderIterator.next(); if(realm != null && !realm.equalsIgnoreCase(wwwAuthHeader.getRealm())) { message.addHeader(wwwAuthHeader); } } } authHeaderIterator = message.getHeaders(ProxyAuthorizationHeader.NAME); if(authHeaderIterator.hasNext()) { message.removeHeader(ProxyAuthorizationHeader.NAME); while(authHeaderIterator.hasNext()) { ProxyAuthorizationHeader proxyAuthHeader = (ProxyAuthorizationHeader) authHeaderIterator.next(); if(realm != null && !realm.equalsIgnoreCase(proxyAuthHeader.getRealm())) { message.addHeader(proxyAuthHeader); } } } }
String realm = authHeader.getRealm(); String username = authHeader.getUsername(); String nonce = authHeader.getNonce(); URI uri = authHeader.getURI(); if (uri == null) { return false; String HA2 = toHexString(mdbytes); String cnonce = authHeader.getCNonce(); String KD = HA1 + ":" + nonce; if (cnonce != null) { mdbytes = messageDigest.digest(KD.getBytes()); String mdString = toHexString(mdbytes); String response = authHeader.getResponse(); return mdString.equals(response);