abstract class org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption extends org.eclipse.jgit.transport.WalkEncryption implements org.eclipse.jgit.transport.WalkEncryption$Keys, org.eclipse.jgit.transport.WalkEncryption$Vals
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption
super_class: org.eclipse.jgit.transport.WalkEncryption
{
final java.lang.String profile;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final java.lang.String version;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final java.lang.String cipherAlgo;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final java.lang.String paramsAlgo;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final javax.crypto.SecretKey secretKey;
descriptor: Ljavax/crypto/SecretKey;
flags: (0x0010) ACC_FINAL
volatile java.lang.String context;
descriptor: Ljava/lang/String;
flags: (0x0040) ACC_VOLATILE
volatile javax.crypto.Cipher decryptCipher;
descriptor: Ljavax/crypto/Cipher;
flags: (0x0040) ACC_VOLATILE
void <init>(java.util.Properties);
descriptor: (Ljava/util/Properties;)V
flags: (0x0000)
Code:
stack=7, locals=17, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.eclipse.jgit.transport.WalkEncryption.<init>:()V
1: aload 0
aload 1
ldc "crypto.algorithm"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
2: aload 0
aload 1
ldc "crypto.version"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.version:Ljava/lang/String;
3: aload 1
ldc "password"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 2
start local 2 4: aload 0
aload 1
new java.lang.StringBuilder
dup
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".algo"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "PBEWithMD5AndDES"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.cipherAlgo:Ljava/lang/String;
5: aload 1
new java.lang.StringBuilder
dup
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".key.algo"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "PBEWithMD5AndDES"
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 6: aload 1
new java.lang.StringBuilder
dup
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".key.size"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
getstatic org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.DEFAULT_KEY_SIZE:Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 7: aload 1
new java.lang.StringBuilder
dup
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".key.iter"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
getstatic org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.DEFAULT_KEY_ITER:Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 8: aload 1
new java.lang.StringBuilder
dup
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".key.salt"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
getstatic org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.DEFAULT_KEY_SALT:Ljava/lang/String;
invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 9: aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.cipherAlgo:Ljava/lang/String;
invokestatic org.eclipse.jgit.transport.InsecureCipherFactory.create:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 7
start local 7 10: aload 3
invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
astore 8
start local 8 11: aload 4
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 9
start local 9 12: goto 15
end local 9 StackMap locals: org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption java.util.Properties java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String javax.crypto.Cipher javax.crypto.SecretKeyFactory
StackMap stack: java.lang.Exception
13: astore 10
start local 10 14: new java.lang.StringBuilder
dup
ldc ".key.size"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 10
invokestatic org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.securityError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/security/GeneralSecurityException;
athrow
end local 10 start local 9 15: StackMap locals: int
StackMap stack:
aload 5
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 10
start local 10 16: goto 19
end local 10 StackMap locals:
StackMap stack: java.lang.Exception
17: astore 11
start local 11 18: new java.lang.StringBuilder
dup
ldc ".key.iter"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 11
invokestatic org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.securityError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/security/GeneralSecurityException;
athrow
end local 11 start local 10 19: StackMap locals: int
StackMap stack:
aload 6
ldc "\\s+"
ldc ""
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic org.eclipse.jgit.util.Hex.decode:(Ljava/lang/String;)[B
astore 11
start local 11 20: goto 23
end local 11 StackMap locals:
StackMap stack: java.lang.Exception
21: astore 12
start local 12 22: new java.lang.StringBuilder
dup
ldc ".key.salt"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 12
invokestatic org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.securityError:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/security/GeneralSecurityException;
athrow
end local 12 start local 11 23: StackMap locals: byte[]
StackMap stack:
new javax.crypto.spec.PBEKeySpec
dup
aload 2
invokevirtual java.lang.String.toCharArray:()[C
aload 11
iload 10
iload 9
invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C[BII)V
astore 12
start local 12 24: aload 8
aload 12
invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
astore 13
start local 13 25: aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.cipherAlgo:Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 14
start local 14 26: ldc "(PBE).*(WITH).+(AND).+"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 14
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 15
start local 15 27: ldc "(.+)/(.+)/(.+)"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 14
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 16
start local 16 28: aload 15
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 32
29: aload 0
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.cipherAlgo:Ljava/lang/String;
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.paramsAlgo:Ljava/lang/String;
30: aload 0
aload 13
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.secretKey:Ljavax/crypto/SecretKey;
31: goto 40
StackMap locals: org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption java.util.Properties java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String javax.crypto.Cipher javax.crypto.SecretKeyFactory int int byte[] java.security.spec.KeySpec javax.crypto.SecretKey java.lang.String java.util.regex.Matcher java.util.regex.Matcher
StackMap stack:
32: aload 16
invokevirtual java.util.regex.Matcher.find:()Z
ifeq 36
33: aload 0
aload 16
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.paramsAlgo:Ljava/lang/String;
34: aload 0
new javax.crypto.spec.SecretKeySpec
dup
aload 13
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.paramsAlgo:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.secretKey:Ljavax/crypto/SecretKey;
35: goto 40
36: StackMap locals:
StackMap stack:
new java.security.GeneralSecurityException
dup
37: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.unsupportedEncryptionAlgorithm:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
38: aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.cipherAlgo:Ljava/lang/String;
aastore
39: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 7
iconst_1
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.secretKey:Ljavax/crypto/SecretKey;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
41: aload 7
invokevirtual javax.crypto.Cipher.doFinal:()[B
pop
42: return
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 43 0 this Lorg/eclipse/jgit/transport/WalkEncryption$SymmetricEncryption;
0 43 1 props Ljava/util/Properties;
4 43 2 pass Ljava/lang/String;
6 43 3 keyAlgo Ljava/lang/String;
7 43 4 keySize Ljava/lang/String;
8 43 5 keyIter Ljava/lang/String;
9 43 6 keySalt Ljava/lang/String;
10 43 7 cipher Ljavax/crypto/Cipher;
11 43 8 factory Ljavax/crypto/SecretKeyFactory;
12 13 9 size I
15 43 9 size I
14 15 10 e Ljava/lang/Exception;
16 17 10 iter I
19 43 10 iter I
18 19 11 e Ljava/lang/Exception;
20 21 11 salt [B
23 43 11 salt [B
22 23 12 e Ljava/lang/Exception;
24 43 12 keySpec Ljava/security/spec/KeySpec;
25 43 13 keyBase Ljavax/crypto/SecretKey;
26 43 14 name Ljava/lang/String;
27 43 15 matcherPBE Ljava/util/regex/Matcher;
28 43 16 matcherTrans Ljava/util/regex/Matcher;
Exception table:
from to target type
11 12 13 Class java.lang.Exception
15 16 17 Class java.lang.Exception
19 20 21 Class java.lang.Exception
Exceptions:
throws java.security.GeneralSecurityException
MethodParameters:
Name Flags
props
java.io.OutputStream encrypt(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)Ljava/io/OutputStream;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.cipherAlgo:Ljava/lang/String;
invokestatic org.eclipse.jgit.transport.InsecureCipherFactory.create:(Ljava/lang/String;)Ljavax/crypto/Cipher;
astore 2
start local 2 1: aload 2
iconst_1
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.secretKey:Ljavax/crypto/SecretKey;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
2: aload 2
invokevirtual javax.crypto.Cipher.getParameters:()Ljava/security/AlgorithmParameters;
astore 3
start local 3 3: aload 3
ifnonnull 6
4: aload 0
ldc ""
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.context:Ljava/lang/String;
5: goto 7
6: StackMap locals: javax.crypto.Cipher java.security.AlgorithmParameters
StackMap stack:
aload 0
aload 3
invokevirtual java.security.AlgorithmParameters.getEncoded:()[B
invokestatic org.eclipse.jgit.util.Base64.encodeBytes:([B)Ljava/lang/String;
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.context:Ljava/lang/String;
7: StackMap locals:
StackMap stack:
new javax.crypto.CipherOutputStream
dup
aload 1
aload 2
invokespecial javax.crypto.CipherOutputStream.<init>:(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V
8: areturn
end local 3 end local 2 9: StackMap locals: org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption java.io.OutputStream
StackMap stack: java.lang.Exception
astore 2
start local 2 10: aload 0
aload 2
invokevirtual org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.error:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/eclipse/jgit/transport/WalkEncryption$SymmetricEncryption;
0 11 1 output Ljava/io/OutputStream;
1 9 2 cipher Ljavax/crypto/Cipher;
3 9 3 params Ljava/security/AlgorithmParameters;
10 11 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 8 9 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
output
void request(java.net.HttpURLConnection, java.lang.String);
descriptor: (Ljava/net/HttpURLConnection;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jgit-crypto-profile"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
1: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jgit-crypto-version"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.version:Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
2: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jgit-crypto-context"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.context:Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/transport/WalkEncryption$SymmetricEncryption;
0 4 1 conn Ljava/net/HttpURLConnection;
0 4 2 prefix Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conn
prefix
void validate(java.net.HttpURLConnection, java.lang.String);
descriptor: (Ljava/net/HttpURLConnection;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jgit-crypto-profile"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jgit-crypto-version"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 1
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "jgit-crypto-context"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 3: aload 3
ifnonnull 7
4: new java.io.IOException
dup
5: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.encryptionError:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "jgit-crypto-profile"
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
6: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.lang.String java.lang.String java.lang.String
StackMap stack:
aload 4
ifnonnull 11
8: new java.io.IOException
dup
9: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.encryptionError:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "jgit-crypto-version"
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
10: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 5
ifnonnull 15
12: new java.io.IOException
dup
13: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.encryptionError:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc "jgit-crypto-context"
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
14: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.profile:Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
16: new java.io.IOException
dup
17: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.unsupportedEncryptionAlgorithm:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
18: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.version:Ljava/lang/String;
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
20: new java.io.IOException
dup
21: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.unsupportedEncryptionVersion:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
22: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.cipherAlgo:Ljava/lang/String;
invokestatic org.eclipse.jgit.transport.InsecureCipherFactory.create:(Ljava/lang/String;)Ljavax/crypto/Cipher;
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.decryptCipher:Ljavax/crypto/Cipher;
24: aload 5
invokevirtual java.lang.String.isEmpty:()Z
ifeq 27
25: aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.decryptCipher:Ljavax/crypto/Cipher;
iconst_2
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.secretKey:Ljavax/crypto/SecretKey;
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;)V
26: goto 34
27: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.paramsAlgo:Ljava/lang/String;
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
28: astore 6
start local 6 29: aload 6
aload 5
invokestatic org.eclipse.jgit.util.Base64.decode:(Ljava/lang/String;)[B
invokevirtual java.security.AlgorithmParameters.init:([B)V
30: aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.decryptCipher:Ljavax/crypto/Cipher;
iconst_2
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.secretKey:Ljavax/crypto/SecretKey;
aload 6
invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
end local 6 31: goto 34
StackMap locals:
StackMap stack: java.lang.Exception
32: astore 6
start local 6 33: aload 0
aload 6
invokevirtual org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.error:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 6 34: StackMap locals:
StackMap stack:
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 35 0 this Lorg/eclipse/jgit/transport/WalkEncryption$SymmetricEncryption;
0 35 1 conn Ljava/net/HttpURLConnection;
0 35 2 prefix Ljava/lang/String;
1 35 3 prof Ljava/lang/String;
2 35 4 vers Ljava/lang/String;
3 35 5 cont Ljava/lang/String;
29 31 6 params Ljava/security/AlgorithmParameters;
33 34 6 e Ljava/lang/Exception;
Exception table:
from to target type
23 31 32 Class java.lang.Exception
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conn
prefix
java.io.InputStream decrypt(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new javax.crypto.CipherInputStream
dup
aload 1
aload 0
getfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.decryptCipher:Ljavax/crypto/Cipher;
invokespecial javax.crypto.CipherInputStream.<init>:(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
astore 3
1: aload 0
aconst_null
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.decryptCipher:Ljavax/crypto/Cipher;
2: aload 3
areturn
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
4: aload 0
aconst_null
putfield org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption.decryptCipher:Ljavax/crypto/Cipher;
5: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/eclipse/jgit/transport/WalkEncryption$SymmetricEncryption;
0 6 1 input Ljava/io/InputStream;
Exception table:
from to target type
0 1 3 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
input
}
SourceFile: "WalkEncryption.java"
NestHost: org.eclipse.jgit.transport.WalkEncryption
InnerClasses:
abstract Keys = org.eclipse.jgit.transport.WalkEncryption$Keys of org.eclipse.jgit.transport.WalkEncryption
abstract SymmetricEncryption = org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption of org.eclipse.jgit.transport.WalkEncryption
abstract Vals = org.eclipse.jgit.transport.WalkEncryption$Vals of org.eclipse.jgit.transport.WalkEncryption