public class com.microsoft.azure.credentials.ApplicationTokenCredentials extends com.microsoft.azure.credentials.AzureTokenCredentials
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.microsoft.azure.credentials.ApplicationTokenCredentials
super_class: com.microsoft.azure.credentials.AzureTokenCredentials
{
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, com.microsoft.aad.adal4j.AuthenticationResult> tokens;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
private final java.util.concurrent.ConcurrentHashMap<java.lang.String, java.util.concurrent.locks.ReentrantLock> authenticationLocks;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/util/concurrent/locks/ReentrantLock;>;
private final java.lang.String clientId;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.lang.String clientSecret;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private byte[] clientCertificate;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private java.lang.String clientCertificatePassword;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private long timeoutInSeconds;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, java.lang.String, java.lang.String, com.microsoft.azure.AzureEnvironment);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/microsoft/azure/AzureEnvironment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 4
aload 2
invokespecial com.microsoft.azure.credentials.AzureTokenCredentials.<init>:(Lcom/microsoft/azure/AzureEnvironment;Ljava/lang/String;)V
1: aload 0
ldc 60
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.timeoutInSeconds:J
2: aload 0
aload 1
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientId:Ljava/lang/String;
3: aload 0
aload 3
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientSecret:Ljava/lang/String;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.tokens:Ljava/util/concurrent/ConcurrentHashMap;
5: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.authenticationLocks:Ljava/util/concurrent/ConcurrentHashMap;
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
0 7 1 clientId Ljava/lang/String;
0 7 2 domain Ljava/lang/String;
0 7 3 secret Ljava/lang/String;
0 7 4 environment Lcom/microsoft/azure/AzureEnvironment;
MethodParameters:
Name Flags
clientId
domain
secret
environment
public void <init>(java.lang.String, java.lang.String, byte[], java.lang.String, com.microsoft.azure.AzureEnvironment);
descriptor: (Ljava/lang/String;Ljava/lang/String;[BLjava/lang/String;Lcom/microsoft/azure/AzureEnvironment;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 5
aload 2
invokespecial com.microsoft.azure.credentials.AzureTokenCredentials.<init>:(Lcom/microsoft/azure/AzureEnvironment;Ljava/lang/String;)V
1: aload 0
ldc 60
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.timeoutInSeconds:J
2: aload 0
aload 1
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientId:Ljava/lang/String;
3: aload 0
aload 3
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificate:[B
4: aload 0
aload 4
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificatePassword:Ljava/lang/String;
5: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.tokens:Ljava/util/concurrent/ConcurrentHashMap;
6: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.authenticationLocks:Ljava/util/concurrent/ConcurrentHashMap;
7: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
0 8 1 clientId Ljava/lang/String;
0 8 2 domain Ljava/lang/String;
0 8 3 certificate [B
0 8 4 password Ljava/lang/String;
0 8 5 environment Lcom/microsoft/azure/AzureEnvironment;
MethodParameters:
Name Flags
clientId
domain
certificate
password
environment
public static com.microsoft.azure.credentials.ApplicationTokenCredentials fromFile(java.io.File);
descriptor: (Ljava/io/File;)Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.microsoft.azure.credentials.AuthFile.parse:(Ljava/io/File;)Lcom/microsoft/azure/credentials/AuthFile;
invokevirtual com.microsoft.azure.credentials.AuthFile.generateCredentials:()Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 credentialsFile Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
credentialsFile
public java.lang.String clientId();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientId:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
public java.lang.String clientSecret();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientSecret:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
public byte[] clientCertificate();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificate:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
public java.lang.String clientCertificatePassword();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificatePassword:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
public long timeoutInSeconds();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.timeoutInSeconds:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
public com.microsoft.azure.credentials.ApplicationTokenCredentials withTimeoutInSeconds(long);
descriptor: (J)Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield com.microsoft.azure.credentials.ApplicationTokenCredentials.timeoutInSeconds:J
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
0 2 1 timeoutInSeconds J
MethodParameters:
Name Flags
timeoutInSeconds
public java.lang.String getToken(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.tokens:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.aad.adal4j.AuthenticationResult
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual com.microsoft.aad.adal4j.AuthenticationResult.getExpiresOnDate:()Ljava/util/Date;
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
ifeq 29
2: StackMap locals: com.microsoft.aad.adal4j.AuthenticationResult
StackMap stack:
aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.authenticationLocks:Ljava/util/concurrent/ConcurrentHashMap;
dup
astore 4
monitorenter
3: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.authenticationLocks:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.locks.ReentrantLock
astore 3
start local 3 4: aload 3
ifnonnull 7
5: new java.util.concurrent.locks.ReentrantLock
dup
invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
astore 3
6: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.authenticationLocks:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 3
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: StackMap locals: java.util.concurrent.locks.ReentrantLock java.util.concurrent.ConcurrentHashMap
StackMap stack:
aload 4
monitorexit
8: goto 11
end local 3 StackMap locals: com.microsoft.azure.credentials.ApplicationTokenCredentials java.lang.String com.microsoft.aad.adal4j.AuthenticationResult top java.util.concurrent.ConcurrentHashMap
StackMap stack: java.lang.Throwable
9: aload 4
monitorexit
10: athrow
start local 3 11: StackMap locals: com.microsoft.azure.credentials.ApplicationTokenCredentials java.lang.String com.microsoft.aad.adal4j.AuthenticationResult java.util.concurrent.locks.ReentrantLock
StackMap stack:
aload 3
invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
12: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.tokens:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.microsoft.aad.adal4j.AuthenticationResult
astore 2
13: aload 2
ifnull 14
aload 2
invokevirtual com.microsoft.aad.adal4j.AuthenticationResult.getExpiresOnDate:()Ljava/util/Date;
new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
invokevirtual java.util.Date.before:(Ljava/util/Date;)Z
ifeq 28
14: StackMap locals:
StackMap stack:
invokestatic java.util.concurrent.Executors.newSingleThreadExecutor:()Ljava/util/concurrent/ExecutorService;
astore 4
start local 4 15: aload 0
aload 1
aload 4
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.acquireAccessToken:(Ljava/lang/String;Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/Future;
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.timeoutInSeconds:()J
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.Future.get:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
checkcast com.microsoft.aad.adal4j.AuthenticationResult
astore 2
16: aload 0
getfield com.microsoft.azure.credentials.ApplicationTokenCredentials.tokens:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
17: goto 21
StackMap locals: com.microsoft.azure.credentials.ApplicationTokenCredentials java.lang.String com.microsoft.aad.adal4j.AuthenticationResult java.util.concurrent.locks.ReentrantLock java.util.concurrent.ExecutorService
StackMap stack: java.lang.Throwable
18: astore 5
19: aload 4
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
end local 4 22: goto 28
StackMap locals: com.microsoft.azure.credentials.ApplicationTokenCredentials java.lang.String com.microsoft.aad.adal4j.AuthenticationResult java.util.concurrent.locks.ReentrantLock
StackMap stack: java.lang.Exception
23: astore 4
start local 4 24: new java.io.IOException
dup
aload 4
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 25: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
26: aload 3
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
27: aload 6
athrow
28: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
end local 3 29: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.microsoft.aad.adal4j.AuthenticationResult.getAccessToken:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
0 30 1 resource Ljava/lang/String;
1 30 2 authenticationResult Lcom/microsoft/aad/adal4j/AuthenticationResult;
4 9 3 lock Ljava/util/concurrent/locks/ReentrantLock;
11 29 3 lock Ljava/util/concurrent/locks/ReentrantLock;
15 22 4 executor Ljava/util/concurrent/ExecutorService;
24 25 4 e Ljava/lang/Exception;
Exception table:
from to target type
3 8 9 any
9 10 9 any
15 18 18 any
12 22 23 Class java.lang.Exception
12 25 25 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
resource
java.util.concurrent.Future<com.microsoft.aad.adal4j.AuthenticationResult> acquireAccessToken(java.lang.String, java.util.concurrent.ExecutorService);
descriptor: (Ljava/lang/String;Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/Future;
flags: (0x0000)
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.environment:()Lcom/microsoft/azure/AzureEnvironment;
invokevirtual com.microsoft.azure.AzureEnvironment.activeDirectoryEndpoint:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.domain:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 1: new com.microsoft.aad.adal4j.AuthenticationContext
dup
aload 3
iconst_0
aload 2
invokespecial com.microsoft.aad.adal4j.AuthenticationContext.<init>:(Ljava/lang/String;ZLjava/util/concurrent/ExecutorService;)V
astore 4
start local 4 2: aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.proxy:()Ljava/net/Proxy;
ifnull 4
3: aload 4
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.proxy:()Ljava/net/Proxy;
invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.setProxy:(Ljava/net/Proxy;)V
4: StackMap locals: java.lang.String com.microsoft.aad.adal4j.AuthenticationContext
StackMap stack:
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.sslSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
ifnull 6
5: aload 4
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.sslSocketFactory:()Ljavax/net/ssl/SSLSocketFactory;
invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.setSslSocketFactory:(Ljavax/net/ssl/SSLSocketFactory;)V
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientSecret:()Ljava/lang/String;
ifnull 13
7: aload 4
8: aload 1
9: new com.microsoft.aad.adal4j.ClientCredential
dup
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientId:()Ljava/lang/String;
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientSecret:()Ljava/lang/String;
invokespecial com.microsoft.aad.adal4j.ClientCredential.<init>:(Ljava/lang/String;Ljava/lang/String;)V
10: aconst_null
11: invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/ClientCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
12: areturn
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificate:()[B
ifnull 20
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificatePassword:()Ljava/lang/String;
ifnull 20
14: aload 4
15: aload 1
16: aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientId:()Ljava/lang/String;
new java.io.ByteArrayInputStream
dup
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificate:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificatePassword:()Ljava/lang/String;
invokestatic com.microsoft.aad.adal4j.AsymmetricKeyCredential.create:(Ljava/lang/String;Ljava/io/InputStream;Ljava/lang/String;)Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
17: aconst_null
18: invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
19: areturn
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificate:()[B
ifnull 27
21: aload 4
22: aload 1
23: aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientId:()Ljava/lang/String;
new java.lang.String
dup
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificate:()[B
invokespecial java.lang.String.<init>:([B)V
invokestatic com.microsoft.azure.credentials.ApplicationTokenCredentials.privateKeyFromPem:(Ljava/lang/String;)Ljava/security/PrivateKey;
new java.lang.String
dup
aload 0
invokevirtual com.microsoft.azure.credentials.ApplicationTokenCredentials.clientCertificate:()[B
invokespecial java.lang.String.<init>:([B)V
invokestatic com.microsoft.azure.credentials.ApplicationTokenCredentials.publicKeyFromPem:(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
invokestatic com.microsoft.aad.adal4j.AsymmetricKeyCredential.create:(Ljava/lang/String;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;
24: aconst_null
25: invokevirtual com.microsoft.aad.adal4j.AuthenticationContext.acquireToken:(Ljava/lang/String;Lcom/microsoft/aad/adal4j/AsymmetricKeyCredential;Lcom/microsoft/aad/adal4j/AuthenticationCallback;)Ljava/util/concurrent/Future;
26: areturn
27: StackMap locals:
StackMap stack:
new com.microsoft.aad.adal4j.AuthenticationException
dup
ldc "Please provide either a non-null secret or a non-null certificate."
invokespecial com.microsoft.aad.adal4j.AuthenticationException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 29: new java.io.IOException
dup
aload 5
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/microsoft/azure/credentials/ApplicationTokenCredentials;
0 30 1 resource Ljava/lang/String;
0 30 2 executor Ljava/util/concurrent/ExecutorService;
1 30 3 authorityUrl Ljava/lang/String;
2 30 4 context Lcom/microsoft/aad/adal4j/AuthenticationContext;
29 30 5 e Ljava/lang/Exception;
Exception table:
from to target type
6 12 28 Class java.lang.Exception
13 19 28 Class java.lang.Exception
20 26 28 Class java.lang.Exception
27 28 28 Class java.lang.Exception
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/Future<Lcom/microsoft/aad/adal4j/AuthenticationResult;>;
MethodParameters:
Name Flags
resource
executor
static java.security.PrivateKey privateKeyFromPem(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/PrivateKey;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: ldc "(?s)-----BEGIN PRIVATE KEY-----.*-----END PRIVATE KEY-----"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
start local 2 2: aload 2
invokevirtual java.util.regex.Matcher.find:()Z
pop
3: aload 2
invokevirtual java.util.regex.Matcher.group:()Ljava/lang/String;
4: ldc "-----BEGIN PRIVATE KEY-----"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
5: ldc "-----END PRIVATE KEY-----"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
6: ldc "\n"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
7: ldc "\r"
ldc ""
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
8: astore 3
start local 3 9: invokestatic com.google.common.io.BaseEncoding.base64:()Lcom/google/common/io/BaseEncoding;
aload 3
invokevirtual com.google.common.io.BaseEncoding.decode:(Ljava/lang/CharSequence;)[B
astore 4
start local 4 10: new java.security.spec.PKCS8EncodedKeySpec
dup
aload 4
invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
astore 5
start local 5 11: ldc "RSA"
invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
astore 6
start local 6 12: aload 6
aload 5
invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
13: areturn
end local 6 14: StackMap locals: java.lang.String java.util.regex.Pattern java.util.regex.Matcher java.lang.String byte[] java.security.spec.PKCS8EncodedKeySpec
StackMap stack: java.security.GeneralSecurityException
astore 6
start local 6 15: new java.lang.RuntimeException
dup
aload 6
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 pem Ljava/lang/String;
1 16 1 pattern Ljava/util/regex/Pattern;
2 16 2 matcher Ljava/util/regex/Matcher;
9 16 3 base64 Ljava/lang/String;
10 16 4 key [B
11 16 5 spec Ljava/security/spec/PKCS8EncodedKeySpec;
12 14 6 kf Ljava/security/KeyFactory;
15 16 6 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
11 13 14 Class java.security.NoSuchAlgorithmException
11 13 14 Class java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
pem
static java.security.cert.X509Certificate publicKeyFromPem(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/security/cert/X509Certificate;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: ldc "(?s)-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 2
start local 2 2: aload 2
invokevirtual java.util.regex.Matcher.find:()Z
pop
3: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 3
start local 3 4: new java.io.ByteArrayInputStream
dup
aload 2
invokevirtual java.util.regex.Matcher.group:()Ljava/lang/String;
invokevirtual java.lang.String.getBytes:()[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 4
start local 4 5: aload 3
aload 4
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
6: areturn
end local 4 end local 3 7: StackMap locals: java.lang.String java.util.regex.Pattern java.util.regex.Matcher
StackMap stack: java.security.cert.CertificateException
astore 3
start local 3 8: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 pem Ljava/lang/String;
1 9 1 pattern Ljava/util/regex/Pattern;
2 9 2 matcher Ljava/util/regex/Matcher;
4 7 3 factory Ljava/security/cert/CertificateFactory;
5 7 4 stream Ljava/io/InputStream;
8 9 3 e Ljava/security/cert/CertificateException;
Exception table:
from to target type
3 6 7 Class java.security.cert.CertificateException
MethodParameters:
Name Flags
pem
}
SourceFile: "ApplicationTokenCredentials.java"