.class public Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider; .super Ljava/lang/Object; .source "SystemDefaultCredentialsProvider.java" # interfaces .implements Lorg/apache/http/client/CredentialsProvider; # static fields .field private static final SCHEME_MAP:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/lang/String;", ">;" } .end annotation .end field # instance fields .field private final internal:Lorg/apache/http/impl/client/BasicCredentialsProvider; # direct methods .method static constructor ()V .registers 3 .line 58 new-instance v0, Ljava/util/concurrent/ConcurrentHashMap; invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;->()V sput-object v0, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->SCHEME_MAP:Ljava/util/Map; .line 59 sget-object v1, Ljava/util/Locale;->ROOT:Ljava/util/Locale; const-string v2, "Basic" invoke-virtual {v2, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 60 sget-object v1, Ljava/util/Locale;->ROOT:Ljava/util/Locale; const-string v2, "Digest" invoke-virtual {v2, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 61 sget-object v1, Ljava/util/Locale;->ROOT:Ljava/util/Locale; const-string v2, "NTLM" invoke-virtual {v2, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 62 const-string v1, "Negotiate" sget-object v2, Ljava/util/Locale;->ROOT:Ljava/util/Locale; invoke-virtual {v1, v2}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object v1 const-string v2, "SPNEGO" invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 63 sget-object v1, Ljava/util/Locale;->ROOT:Ljava/util/Locale; const-string v2, "Kerberos" invoke-virtual {v2, v1}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; return-void .end method .method public constructor ()V .registers 2 .line 80 invoke-direct {p0}, Ljava/lang/Object;->()V .line 81 new-instance v0, Lorg/apache/http/impl/client/BasicCredentialsProvider; invoke-direct {v0}, Lorg/apache/http/impl/client/BasicCredentialsProvider;->()V iput-object v0, p0, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->internal:Lorg/apache/http/impl/client/BasicCredentialsProvider; return-void .end method .method private static getSystemCreds(Ljava/lang/String;Lorg/apache/http/auth/AuthScope;Ljava/net/Authenticator$RequestorType;)Ljava/net/PasswordAuthentication; .registers 11 .line 93 invoke-virtual {p1}, Lorg/apache/http/auth/AuthScope;->getHost()Ljava/lang/String; move-result-object v0 invoke-virtual {p1}, Lorg/apache/http/auth/AuthScope;->getPort()I move-result v2 invoke-virtual {p1}, Lorg/apache/http/auth/AuthScope;->getScheme()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->translateScheme(Ljava/lang/String;)Ljava/lang/String; move-result-object v5 const/4 v6, 0x0 const/4 v1, 0x0 const/4 v4, 0x0 move-object v3, p0 move-object v7, p2 invoke-static/range {v0 .. v7}, Ljava/net/Authenticator;->requestPasswordAuthentication(Ljava/lang/String;Ljava/net/InetAddress;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/net/Authenticator$RequestorType;)Ljava/net/PasswordAuthentication; move-result-object p0 return-object p0 .end method .method private static translateScheme(Ljava/lang/String;)Ljava/lang/String; .registers 2 if-nez p0, :cond_4 const/4 p0, 0x0 return-object p0 .line 70 :cond_4 sget-object v0, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->SCHEME_MAP:Ljava/util/Map; invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/String; if-eqz v0, :cond_f move-object p0, v0 :cond_f return-object p0 .end method # virtual methods .method public clear()V .registers 2 .line 165 iget-object v0, p0, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->internal:Lorg/apache/http/impl/client/BasicCredentialsProvider; invoke-virtual {v0}, Lorg/apache/http/impl/client/BasicCredentialsProvider;->clear()V return-void .end method .method public getCredentials(Lorg/apache/http/auth/AuthScope;)Lorg/apache/http/auth/Credentials; .registers 8 .line 106 const-string v0, "Auth scope" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 107 iget-object v0, p0, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->internal:Lorg/apache/http/impl/client/BasicCredentialsProvider; invoke-virtual {v0, p1}, Lorg/apache/http/impl/client/BasicCredentialsProvider;->getCredentials(Lorg/apache/http/auth/AuthScope;)Lorg/apache/http/auth/Credentials; move-result-object v0 if-eqz v0, :cond_e return-object v0 .line 111 :cond_e invoke-virtual {p1}, Lorg/apache/http/auth/AuthScope;->getHost()Ljava/lang/String; move-result-object v0 const/4 v1, 0x0 if-eqz v0, :cond_10d .line 113 invoke-virtual {p1}, Lorg/apache/http/auth/AuthScope;->getOrigin()Lorg/apache/http/HttpHost; move-result-object v0 if-eqz v0, :cond_20 .line 114 invoke-virtual {v0}, Lorg/apache/http/HttpHost;->getSchemeName()Ljava/lang/String; move-result-object v0 goto :goto_2d :cond_20 invoke-virtual {p1}, Lorg/apache/http/auth/AuthScope;->getPort()I move-result v0 const/16 v2, 0x1bb if-ne v0, v2, :cond_2b const-string v0, "https" goto :goto_2d :cond_2b const-string v0, "http" .line 115 :goto_2d sget-object v2, Ljava/net/Authenticator$RequestorType;->SERVER:Ljava/net/Authenticator$RequestorType; invoke-static {v0, p1, v2}, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->getSystemCreds(Ljava/lang/String;Lorg/apache/http/auth/AuthScope;Ljava/net/Authenticator$RequestorType;)Ljava/net/PasswordAuthentication; move-result-object v2 if-nez v2, :cond_3b .line 117 sget-object v2, Ljava/net/Authenticator$RequestorType;->PROXY:Ljava/net/Authenticator$RequestorType; invoke-static {v0, p1, v2}, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->getSystemCreds(Ljava/lang/String;Lorg/apache/http/auth/AuthScope;Ljava/net/Authenticator$RequestorType;)Ljava/net/PasswordAuthentication; move-result-object v2 :cond_3b if-nez v2, :cond_be .line 120 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 const-string v4, ".proxyHost" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 if-eqz v3, :cond_be .line 122 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 const-string v5, ".proxyPort" invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v4}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v4 if-eqz v4, :cond_be .line 125 :try_start_6f new-instance v5, Lorg/apache/http/auth/AuthScope; invoke-static {v4}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v4 invoke-direct {v5, v3, v4}, Lorg/apache/http/auth/AuthScope;->(Ljava/lang/String;I)V .line 126 invoke-virtual {p1, v5}, Lorg/apache/http/auth/AuthScope;->match(Lorg/apache/http/auth/AuthScope;)I move-result v3 if-ltz v3, :cond_be .line 127 new-instance v3, Ljava/lang/StringBuilder; invoke-direct {v3}, Ljava/lang/StringBuilder;->()V invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 const-string v4, ".proxyUser" invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v3}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v3 if-eqz v3, :cond_be .line 129 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 const-string v4, ".proxyPassword" invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 130 new-instance v4, Ljava/net/PasswordAuthentication; if-eqz v0, :cond_b7 invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C move-result-object v0 goto :goto_ba :cond_b7 const/4 v0, 0x0 new-array v0, v0, [C :goto_ba invoke-direct {v4, v3, v0}, Ljava/net/PasswordAuthentication;->(Ljava/lang/String;[C)V :try_end_bd .catch Ljava/lang/NumberFormatException; {:try_start_6f .. :try_end_bd} :catch_be move-object v2, v4 :catch_be :cond_be if-eqz v2, :cond_10d .line 139 const-string v0, "http.auth.ntlm.domain" invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_db .line 141 new-instance p1, Lorg/apache/http/auth/NTCredentials; invoke-virtual {v2}, Ljava/net/PasswordAuthentication;->getUserName()Ljava/lang/String; move-result-object v3 new-instance v4, Ljava/lang/String; invoke-virtual {v2}, Ljava/net/PasswordAuthentication;->getPassword()[C move-result-object v2 invoke-direct {v4, v2}, Ljava/lang/String;->([C)V invoke-direct {p1, v3, v4, v1, v0}, Lorg/apache/http/auth/NTCredentials;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V return-object p1 .line 146 :cond_db const-string v0, "NTLM" invoke-virtual {p1}, Lorg/apache/http/auth/AuthScope;->getScheme()Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z move-result p1 if-eqz p1, :cond_fa .line 148 new-instance p1, Lorg/apache/http/auth/NTCredentials; invoke-virtual {v2}, Ljava/net/PasswordAuthentication;->getUserName()Ljava/lang/String; move-result-object v0 new-instance v3, Ljava/lang/String; invoke-virtual {v2}, Ljava/net/PasswordAuthentication;->getPassword()[C move-result-object v2 invoke-direct {v3, v2}, Ljava/lang/String;->([C)V invoke-direct {p1, v0, v3, v1, v1}, Lorg/apache/http/auth/NTCredentials;->(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V return-object p1 .line 153 :cond_fa new-instance p1, Lorg/apache/http/auth/UsernamePasswordCredentials; invoke-virtual {v2}, Ljava/net/PasswordAuthentication;->getUserName()Ljava/lang/String; move-result-object v0 new-instance v1, Ljava/lang/String; invoke-virtual {v2}, Ljava/net/PasswordAuthentication;->getPassword()[C move-result-object v2 invoke-direct {v1, v2}, Ljava/lang/String;->([C)V invoke-direct {p1, v0, v1}, Lorg/apache/http/auth/UsernamePasswordCredentials;->(Ljava/lang/String;Ljava/lang/String;)V return-object p1 :cond_10d return-object v1 .end method .method public setCredentials(Lorg/apache/http/auth/AuthScope;Lorg/apache/http/auth/Credentials;)V .registers 4 .line 86 iget-object v0, p0, Lorg/apache/http/impl/client/SystemDefaultCredentialsProvider;->internal:Lorg/apache/http/impl/client/BasicCredentialsProvider; invoke-virtual {v0, p1, p2}, Lorg/apache/http/impl/client/BasicCredentialsProvider;->setCredentials(Lorg/apache/http/auth/AuthScope;Lorg/apache/http/auth/Credentials;)V return-void .end method