List of usage examples for org.apache.http.auth AuthScheme processChallenge
void processChallenge(final Header header) throws MalformedChallengeException;
From source file:eu.agno3.util.httpclient41.spnego.PreemptiveNegotiateAuthCache.java
@Override public AuthScheme get(HttpHost host) { if (this.targetHost != null && this.targetHost.equals(host)) { AuthScheme scheme = new SPNegoScheme(this.stripPort); try {//from w ww.j av a 2 s . c om scheme.processChallenge(new BasicHeader("WWW-Authenticate", "Negotiate")); //$NON-NLS-1$//$NON-NLS-2$ } catch (MalformedChallengeException e) { log.warn("Failed to process fake initial challenge:", e); //$NON-NLS-1$ } log.debug("Returning PerRequestNegotiateScheme for host"); //$NON-NLS-1$ return scheme; } else if (this.proxyHost != null && this.proxyHost.equals(host)) { AuthScheme scheme = new SPNegoScheme(this.stripPort); try { scheme.processChallenge(new BasicHeader("Proxy-Authenticate", "Negotiate")); //$NON-NLS-1$//$NON-NLS-2$ } catch (MalformedChallengeException e) { log.warn("Failed to process fake initial challenge:", e); //$NON-NLS-1$ } return scheme; } return super.get(host); }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthenticationWithStaleNonce() throws Exception { String challenge = "Digest realm=\"realm1\", " + "nonce=\"f2a3f18799759d4f1a1c068b92b573cb\", stale=\"true\""; Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge); AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); assertFalse(authscheme.isComplete()); }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthenticationWithNoRealm() throws Exception { Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, "Digest"); try {/*w w w. j a va 2 s . c om*/ AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); fail("Should have thrown MalformedChallengeException"); } catch (MalformedChallengeException e) { // expected } }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthenticationWithNoRealm2() throws Exception { Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, "Digest "); try {/*from www . j a va 2 s . com*/ AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); fail("Should have thrown MalformedChallengeException"); } catch (MalformedChallengeException e) { // expected } }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthenticationWithDefaultCreds() throws Exception { String challenge = "Digest realm=\"realm1\", nonce=\"f2a3f18799759d4f1a1c068b92b573cb\""; Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge); HttpRequest request = new BasicHttpRequest("Simple", "/"); Credentials cred = new UsernamePasswordCredentials("username", "password"); AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); Header authResponse = authscheme.authenticate(cred, request); Map<String, String> table = parseAuthResponse(authResponse); assertEquals("username", table.get("username")); assertEquals("realm1", table.get("realm")); assertEquals("/", table.get("uri")); assertEquals("f2a3f18799759d4f1a1c068b92b573cb", table.get("nonce")); assertEquals("e95a7ddf37c2eab009568b1ed134f89a", table.get("response")); }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthentication() throws Exception { String challenge = "Digest realm=\"realm1\", nonce=\"f2a3f18799759d4f1a1c068b92b573cb\""; Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge); HttpRequest request = new BasicHttpRequest("Simple", "/"); Credentials cred = new UsernamePasswordCredentials("username", "password"); AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); Header authResponse = authscheme.authenticate(cred, request); Map<String, String> table = parseAuthResponse(authResponse); assertEquals("username", table.get("username")); assertEquals("realm1", table.get("realm")); assertEquals("/", table.get("uri")); assertEquals("f2a3f18799759d4f1a1c068b92b573cb", table.get("nonce")); assertEquals("e95a7ddf37c2eab009568b1ed134f89a", table.get("response")); }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthenticationWithQueryStringInDigestURI() throws Exception { String challenge = "Digest realm=\"realm1\", nonce=\"f2a3f18799759d4f1a1c068b92b573cb\""; Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge); HttpRequest request = new BasicHttpRequest("Simple", "/?param=value"); Credentials cred = new UsernamePasswordCredentials("username", "password"); AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); Header authResponse = authscheme.authenticate(cred, request); Map<String, String> table = parseAuthResponse(authResponse); assertEquals("username", table.get("username")); assertEquals("realm1", table.get("realm")); assertEquals("/?param=value", table.get("uri")); assertEquals("f2a3f18799759d4f1a1c068b92b573cb", table.get("nonce")); assertEquals("a847f58f5fef0bc087bcb9c3eb30e042", table.get("response")); }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthenticationWithSHA() throws Exception { String challenge = "Digest realm=\"realm1\", " + "nonce=\"f2a3f18799759d4f1a1c068b92b573cb\", " + "algorithm=SHA"; Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge); HttpRequest request = new BasicHttpRequest("Simple", "/"); Credentials cred = new UsernamePasswordCredentials("username", "password"); AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); Header authResponse = authscheme.authenticate(cred, request); Map<String, String> table = parseAuthResponse(authResponse); assertEquals("username", table.get("username")); assertEquals("realm1", table.get("realm")); assertEquals("/", table.get("uri")); assertEquals("f2a3f18799759d4f1a1c068b92b573cb", table.get("nonce")); assertEquals("8769e82e4e28ecc040b969562b9050580c6d186d", table.get("response")); }
From source file:securitydigest.TestDigestScheme.java
/** * Test digest authentication with invalud qop value *//*ww w. j a v a 2s.c om*/ public void testDigestAuthenticationMD5SessInvalidQop() throws Exception { // Example using Digest auth with MD5-sess String realm = "realm"; String nonce = "e273f1776275974f1a120d8b92c5b3cb"; String challenge = "Digest realm=\"" + realm + "\", " + "nonce=\"" + nonce + "\", " + "opaque=\"SomeString\", " + "stale=false, " + "algorithm=MD5-sess, " + "qop=\"jakarta\""; // jakarta is an invalid qop value Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge); try { AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); fail("MalformedChallengeException exception expected due to invalid qop value"); } catch (MalformedChallengeException e) { } }
From source file:securitydigest.TestDigestScheme.java
public void testDigestAuthenticationWithMultipleRealms() throws Exception { String challenge1 = "Digest realm=\"realm1\", nonce=\"abcde\""; String challenge2 = "Digest realm=\"realm2\", nonce=\"123546\""; Credentials cred = new UsernamePasswordCredentials("username", "password"); Credentials cred2 = new UsernamePasswordCredentials("uname2", "password2"); Header authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge1); HttpRequest request = new BasicHttpRequest("Simple", "/"); AuthScheme authscheme = new DigestScheme(); authscheme.processChallenge(authChallenge); Header authResponse = authscheme.authenticate(cred, request); Map<String, String> table = parseAuthResponse(authResponse); assertEquals("username", table.get("username")); assertEquals("realm1", table.get("realm")); assertEquals("/", table.get("uri")); assertEquals("abcde", table.get("nonce")); assertEquals("786f500303eac1478f3c2865e676ed68", table.get("response")); authChallenge = new BasicHeader(AUTH.WWW_AUTH, challenge2); AuthScheme authscheme2 = new DigestScheme(); authscheme2.processChallenge(authChallenge); authResponse = authscheme2.authenticate(cred2, request); table = parseAuthResponse(authResponse); assertEquals("uname2", table.get("username")); assertEquals("realm2", table.get("realm")); assertEquals("/", table.get("uri")); assertEquals("123546", table.get("nonce")); assertEquals("0283edd9ef06a38b378b3b74661391e9", table.get("response")); }