private void ntlmChallenge(String authenticateHeader, HttpHeaders requestHeaders, Realm realm, NettyResponseFuture<?> future) { if (authenticateHeader.equals("NTLM")) { // server replied bare NTLM => we didn't preemptively sent Type1Msg String challengeHeader = NtlmEngine.INSTANCE.generateType1Msg(); // FIXME we might want to filter current NTLM and add (leave other // Authorization headers untouched) requestHeaders.set(AUTHORIZATION, "NTLM " + challengeHeader); future.setInAuth(false); } else { String serverChallenge = authenticateHeader.substring("NTLM ".length()).trim(); String challengeHeader = NtlmEngine.INSTANCE.generateType3Msg(realm.getPrincipal(), realm.getPassword(), realm.getNtlmDomain(), realm.getNtlmHost(), serverChallenge); // FIXME we might want to filter current NTLM and add (leave other // Authorization headers untouched) requestHeaders.set(AUTHORIZATION, "NTLM " + challengeHeader); } }
private void ntlmProxyChallenge(String authenticateHeader, HttpHeaders requestHeaders, Realm proxyRealm, NettyResponseFuture<?> future) { if (authenticateHeader.equals("NTLM")) { // server replied bare NTLM => we didn't preemptively sent Type1Msg String challengeHeader = NtlmEngine.INSTANCE.generateType1Msg(); // FIXME we might want to filter current NTLM and add (leave other // Authorization headers untouched) requestHeaders.set(PROXY_AUTHORIZATION, "NTLM " + challengeHeader); future.setInProxyAuth(false); } else { String serverChallenge = authenticateHeader.substring("NTLM ".length()).trim(); String challengeHeader = NtlmEngine.INSTANCE.generateType3Msg(proxyRealm.getPrincipal(), proxyRealm.getPassword(), proxyRealm.getNtlmDomain(), proxyRealm.getNtlmHost(), serverChallenge); // FIXME we might want to filter current NTLM and add (leave other // Authorization headers untouched) requestHeaders.set(PROXY_AUTHORIZATION, "NTLM " + challengeHeader); } } }
public static Realm.Builder realm(Realm prototype) { return new Realm.Builder(prototype.getPrincipal(), prototype.getPassword()) .setRealmName(prototype.getRealmName()) .setAlgorithm(prototype.getAlgorithm()) .setNc(prototype.getNc()) .setNonce(prototype.getNonce()) .setCharset(prototype.getCharset()) .setOpaque(prototype.getOpaque()) .setQop(prototype.getQop()) .setScheme(prototype.getScheme()) .setUri(prototype.getUri()) .setUsePreemptiveAuth(prototype.isUsePreemptiveAuth()) .setNtlmDomain(prototype.getNtlmDomain()) .setNtlmHost(prototype.getNtlmHost()) .setUseAbsoluteURI(prototype.isUseAbsoluteURI()) .setOmitQuery(prototype.isOmitQuery()) .setServicePrincipalName(prototype.getServicePrincipalName()) .setUseCanonicalHostname(prototype.isUseCanonicalHostname()) .setCustomLoginConfig(prototype.getCustomLoginConfig()) .setLoginContextName(prototype.getLoginContextName()); }
private void addType3NTLMAuthorizationHeader(String authenticateHeader, FluentCaseInsensitiveStringsMap headers, Realm realm, boolean proxyInd) { headers.remove(authorizationHeaderName(proxyInd)); if (authenticateHeader.startsWith("NTLM ")) { String serverChallenge = authenticateHeader.substring("NTLM ".length()).trim(); String challengeHeader = NtlmEngine.INSTANCE.generateType3Msg(realm.getPrincipal(), realm.getPassword(), realm.getNtlmDomain(), realm.getNtlmHost(), serverChallenge); addNTLMAuthorizationHeader(headers, challengeHeader, proxyInd); } }
private void addType3NTLMAuthorizationHeader(String authenticateHeader, FluentCaseInsensitiveStringsMap headers, Realm realm, boolean proxyInd) throws NtlmEngineException { headers.remove(authorizationHeaderName(proxyInd)); if (authenticateHeader.startsWith("NTLM ")) { String serverChallenge = authenticateHeader.substring("NTLM ".length()).trim(); String challengeHeader = NtlmEngine.INSTANCE.generateType3Msg(realm.getPrincipal(), realm.getPassword(), realm.getNtlmDomain(), realm.getNtlmHost(), serverChallenge); addNTLMAuthorizationHeader(headers, challengeHeader, proxyInd); } }
private void addType3NTLMAuthorizationHeader(String auth, FluentCaseInsensitiveStringsMap headers, Realm realm, boolean proxyInd) { headers.remove(authorizationHeaderName(proxyInd)); if (isNonEmpty(auth) && auth.startsWith("NTLM ")) { String serverChallenge = auth.substring("NTLM ".length()).trim(); String challengeHeader = NtlmEngine.INSTANCE.generateType3Msg(realm.getPrincipal(), realm.getPassword(), realm.getNtlmDomain(), realm.getNtlmHost(), serverChallenge); addNTLMAuthorizationHeader(headers, challengeHeader, proxyInd); } }
private void addType3NTLMAuthorizationHeader(String auth, FluentCaseInsensitiveStringsMap headers, Realm realm, boolean proxyInd) throws NtlmEngineException { headers.remove(authorizationHeaderName(proxyInd)); if (isNonEmpty(auth) && auth.startsWith("NTLM ")) { String serverChallenge = auth.substring("NTLM ".length()).trim(); String challengeHeader = NtlmEngine.INSTANCE.generateType3Msg(realm.getPrincipal(), realm.getPassword(), realm.getNtlmDomain(), realm.getNtlmHost(), serverChallenge); addNTLMAuthorizationHeader(headers, challengeHeader, proxyInd); } }
public RealmBuilder clone(Realm clone) { return setRealmName(clone.getRealmName())// .setAlgorithm(clone.getAlgorithm())// .setMethodName(clone.getMethodName())// .setNc(clone.getNc())// .setNonce(clone.getNonce())// .setPassword(clone.getPassword())// .setPrincipal(clone.getPrincipal())// .setCharset(clone.getCharset())// .setOpaque(clone.getOpaque())// .setQop(clone.getQop())// .setScheme(clone.getScheme())// .setUri(clone.getUri())// .setUsePreemptiveAuth(clone.getUsePreemptiveAuth())// .setNtlmDomain(clone.getNtlmDomain())// .setNtlmHost(clone.getNtlmHost())// .setUseAbsoluteURI(clone.isUseAbsoluteURI())// .setOmitQuery(clone.isOmitQuery())// .setTargetProxy(clone.isTargetProxy()); }