class com.google.crypto.tink.Registry$3 implements com.google.crypto.tink.Registry$KeyManagerContainer
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.crypto.tink.Registry$3
super_class: java.lang.Object
{
private final com.google.crypto.tink.PrivateKeyTypeManager val$localPrivateKeyManager;
descriptor: Lcom/google/crypto/tink/PrivateKeyTypeManager;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.google.crypto.tink.KeyTypeManager val$localPublicKeyManager;
descriptor: Lcom/google/crypto/tink/KeyTypeManager;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.google.crypto.tink.PrivateKeyTypeManager, com.google.crypto.tink.KeyTypeManager);
descriptor: (Lcom/google/crypto/tink/PrivateKeyTypeManager;Lcom/google/crypto/tink/KeyTypeManager;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
aload 0
aload 2
putfield com.google.crypto.tink.Registry$3.val$localPublicKeyManager:Lcom/google/crypto/tink/KeyTypeManager;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/crypto/tink/Registry$3;
MethodParameters:
Name Flags
val$localPrivateKeyManager final
val$localPublicKeyManager final
public <Q> com.google.crypto.tink.KeyManager<Q> getKeyManager(java.lang.Class<Q>);
descriptor: (Ljava/lang/Class;)Lcom/google/crypto/tink/KeyManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new com.google.crypto.tink.PrivateKeyManagerImpl
dup
1: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
aload 0
getfield com.google.crypto.tink.Registry$3.val$localPublicKeyManager:Lcom/google/crypto/tink/KeyTypeManager;
aload 1
2: invokespecial com.google.crypto.tink.PrivateKeyManagerImpl.<init>:(Lcom/google/crypto/tink/PrivateKeyTypeManager;Lcom/google/crypto/tink/KeyTypeManager;Ljava/lang/Class;)V
3: areturn
4: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 2
start local 2 5: new java.security.GeneralSecurityException
dup
ldc "Primitive type not supported"
aload 2
invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/crypto/tink/Registry$3;
0 6 1 primitiveClass Ljava/lang/Class<TQ;>;
5 6 2 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 3 4 Class java.lang.IllegalArgumentException
Exceptions:
throws java.security.GeneralSecurityException
Signature: <Q:Ljava/lang/Object;>(Ljava/lang/Class<TQ;>;)Lcom/google/crypto/tink/KeyManager<TQ;>;
MethodParameters:
Name Flags
primitiveClass
public com.google.crypto.tink.KeyManager<?> getUntypedKeyManager();
descriptor: ()Lcom/google/crypto/tink/KeyManager;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new com.google.crypto.tink.PrivateKeyManagerImpl
dup
1: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
2: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPublicKeyManager:Lcom/google/crypto/tink/KeyTypeManager;
3: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
invokevirtual com.google.crypto.tink.PrivateKeyTypeManager.firstSupportedPrimitiveClass:()Ljava/lang/Class;
4: invokespecial com.google.crypto.tink.PrivateKeyManagerImpl.<init>:(Lcom/google/crypto/tink/PrivateKeyTypeManager;Lcom/google/crypto/tink/KeyTypeManager;Ljava/lang/Class;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/crypto/tink/Registry$3;
Signature: ()Lcom/google/crypto/tink/KeyManager<*>;
public java.lang.Class<?> getImplementingClass();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/crypto/tink/Registry$3;
Signature: ()Ljava/lang/Class<*>;
public java.util.Set<java.lang.Class<?>> supportedPrimitives();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
invokevirtual com.google.crypto.tink.PrivateKeyTypeManager.supportedPrimitives:()Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/crypto/tink/Registry$3;
Signature: ()Ljava/util/Set<Ljava/lang/Class<*>;>;
public java.lang.Class<?> publicKeyManagerClassOrNull();
descriptor: ()Ljava/lang/Class;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPublicKeyManager:Lcom/google/crypto/tink/KeyTypeManager;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/crypto/tink/Registry$3;
Signature: ()Ljava/lang/Class<*>;
public com.google.protobuf.MessageLite parseKey(com.google.protobuf.ByteString);
descriptor: (Lcom/google/protobuf/ByteString;)Lcom/google/protobuf/MessageLite;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
aload 1
invokevirtual com.google.crypto.tink.PrivateKeyTypeManager.parseKey:(Lcom/google/protobuf/ByteString;)Lcom/google/protobuf/MessageLite;
astore 2
start local 2 1: aload 0
getfield com.google.crypto.tink.Registry$3.val$localPrivateKeyManager:Lcom/google/crypto/tink/PrivateKeyTypeManager;
aload 2
invokevirtual com.google.crypto.tink.PrivateKeyTypeManager.validateKey:(Lcom/google/protobuf/MessageLite;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/crypto/tink/Registry$3;
0 3 1 serializedKey Lcom/google/protobuf/ByteString;
1 3 2 result TKeyProtoT;
Exceptions:
throws java.security.GeneralSecurityException, com.google.protobuf.InvalidProtocolBufferException
MethodParameters:
Name Flags
serializedKey
}
SourceFile: "Registry.java"
EnclosingMethod: com.google.crypto.tink.Registry.createPrivateKeyContainerFor:(Lcom/google/crypto/tink/PrivateKeyTypeManager;Lcom/google/crypto/tink/KeyTypeManager;)Lcom/google/crypto/tink/Registry$KeyManagerContainer;
NestHost: com.google.crypto.tink.Registry
InnerClasses:
com.google.crypto.tink.Registry$3
private abstract KeyManagerContainer = com.google.crypto.tink.Registry$KeyManagerContainer of com.google.crypto.tink.Registry