public class org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand extends java.lang.Object implements java.lang.Runnable
{
private static final org.slf4j.Logger LOGGER;
private static final java.lang.String KEY_ALGORITHM;
private static final int KEY_SIZE;
private static final com.nimbusds.jose.JWSAlgorithm JWS_ALGORITHM;
private final java.security.KeyPairGenerator keyPairGenerator;
private final org.apache.nifi.web.security.jwt.jws.SignerListener signerListener;
private final org.apache.nifi.web.security.jwt.key.VerificationKeyListener verificationKeyListener;
public void <init>(org.apache.nifi.web.security.jwt.jws.SignerListener, org.apache.nifi.web.security.jwt.key.VerificationKeyListener)
{
java.security.KeyPairGenerator v, v;
org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand v;
java.lang.IllegalArgumentException v;
java.security.SecureRandom v;
org.apache.nifi.web.security.jwt.jws.SignerListener v;
java.security.NoSuchAlgorithmException v;
org.apache.nifi.web.security.jwt.key.VerificationKeyListener v;
java.lang.Object v, v;
v := @this: org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand;
v := @parameter: org.apache.nifi.web.security.jwt.jws.SignerListener;
v := @parameter: org.apache.nifi.web.security.jwt.key.VerificationKeyListener;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "Signer Listener required");
v.<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: org.apache.nifi.web.security.jwt.jws.SignerListener signerListener> = v;
v = staticinvoke <java.util.Objects: java.lang.Object requireNonNull(java.lang.Object,java.lang.String)>(v, "Verification Key Listener required");
v.<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: org.apache.nifi.web.security.jwt.key.VerificationKeyListener verificationKeyListener> = v;
label:
v = staticinvoke <java.security.KeyPairGenerator: java.security.KeyPairGenerator getInstance(java.lang.String)>("RSA");
v.<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: java.security.KeyPairGenerator keyPairGenerator> = v;
v = v.<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: java.security.KeyPairGenerator keyPairGenerator>;
v = new java.security.SecureRandom;
specialinvoke v.<java.security.SecureRandom: void <init>()>();
virtualinvoke v.<java.security.KeyPairGenerator: void initialize(int,java.security.SecureRandom)>(4096, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.security.NoSuchAlgorithmException from label to label with label;
}
public void run()
{
java.security.KeyPairGenerator v;
java.security.KeyPair v;
org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand v;
org.slf4j.Logger v;
com.nimbusds.jose.JWSAlgorithm v;
java.security.PublicKey v;
java.util.UUID v;
org.apache.nifi.web.security.jwt.jws.SignerListener v;
com.nimbusds.jose.crypto.RSASSASigner v;
java.security.PrivateKey v;
org.apache.nifi.web.security.jwt.key.VerificationKeyListener v;
java.lang.String v;
org.apache.nifi.web.security.jwt.jws.JwsSignerContainer v;
v := @this: org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand;
v = v.<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: java.security.KeyPairGenerator keyPairGenerator>;
v = virtualinvoke v.<java.security.KeyPairGenerator: java.security.KeyPair generateKeyPair()>();
v = staticinvoke <java.util.UUID: java.util.UUID randomUUID()>();
v = virtualinvoke v.<java.util.UUID: java.lang.String toString()>();
v = <org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void debug(java.lang.String,java.lang.Object,java.lang.Object)>("Generated Key Pair [{}] Key Identifier [{}]", "RSA", v);
v = v.<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: org.apache.nifi.web.security.jwt.key.VerificationKeyListener verificationKeyListener>;
v = virtualinvoke v.<java.security.KeyPair: java.security.PublicKey getPublic()>();
interfaceinvoke v.<org.apache.nifi.web.security.jwt.key.VerificationKeyListener: void onVerificationKeyGenerated(java.lang.String,java.security.Key)>(v, v);
v = new com.nimbusds.jose.crypto.RSASSASigner;
v = virtualinvoke v.<java.security.KeyPair: java.security.PrivateKey getPrivate()>();
specialinvoke v.<com.nimbusds.jose.crypto.RSASSASigner: void <init>(java.security.PrivateKey)>(v);
v = v.<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: org.apache.nifi.web.security.jwt.jws.SignerListener signerListener>;
v = new org.apache.nifi.web.security.jwt.jws.JwsSignerContainer;
v = <org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: com.nimbusds.jose.JWSAlgorithm JWS_ALGORITHM>;
specialinvoke v.<org.apache.nifi.web.security.jwt.jws.JwsSignerContainer: void <init>(java.lang.String,com.nimbusds.jose.JWSAlgorithm,com.nimbusds.jose.JWSSigner)>(v, v, v);
interfaceinvoke v.<org.apache.nifi.web.security.jwt.jws.SignerListener: void onSignerUpdated(org.apache.nifi.web.security.jwt.jws.JwsSignerContainer)>(v);
return;
}
static void <clinit>()
{
com.nimbusds.jose.JWSAlgorithm v;
org.slf4j.Logger v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/apache/nifi/web/security/jwt/key/command/KeyGenerationCommand;");
<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: org.slf4j.Logger LOGGER> = v;
v = <com.nimbusds.jose.JWSAlgorithm: com.nimbusds.jose.JWSAlgorithm PS512>;
<org.apache.nifi.web.security.jwt.key.command.KeyGenerationCommand: com.nimbusds.jose.JWSAlgorithm JWS_ALGORITHM> = v;
return;
}
}