final class io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator extends java.lang.Object
{
private static final java.security.Provider PROVIDER;
static java.lang.String[] generate(java.lang.String, java.security.KeyPair, java.security.SecureRandom, java.util.Date, java.util.Date, java.lang.String) throws java.lang.Exception
{
java.security.cert.X509Certificate v;
java.security.KeyPair v;
org.bouncycastle.cert.X509CertificateHolder v;
org.bouncycastle.operator.ContentSigner v;
java.util.Date v, v;
org.bouncycastle.cert.jcajce.JcaX509CertificateConverter v, v;
org.bouncycastle.operator.jcajce.JcaContentSignerBuilder v;
java.lang.String[] v;
java.security.SecureRandom v;
org.bouncycastle.asn.x.X500Name v;
java.math.BigInteger v;
java.lang.String v, v, v, v;
boolean v;
org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder v;
java.security.PublicKey v, v;
java.security.Provider v;
java.security.PrivateKey v;
v := @parameter: java.lang.String;
v := @parameter: java.security.KeyPair;
v := @parameter: java.security.SecureRandom;
v := @parameter: java.util.Date;
v := @parameter: java.util.Date;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.security.KeyPair: java.security.PrivateKey getPrivate()>();
v = new org.bouncycastle.asn.x.X500Name;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("CN=\u0001");
specialinvoke v.<org.bouncycastle.asn.x.X500Name: void <init>(java.lang.String)>(v);
v = new org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder;
v = new java.math.BigInteger;
specialinvoke v.<java.math.BigInteger: void <init>(int,java.util.Random)>(64, v);
v = virtualinvoke v.<java.security.KeyPair: java.security.PublicKey getPublic()>();
specialinvoke v.<org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder: void <init>(org.bouncycastle.asn.x.X500Name,java.math.BigInteger,java.util.Date,java.util.Date,org.bouncycastle.asn.x.X500Name,java.security.PublicKey)>(v, v, v, v, v, v);
v = new org.bouncycastle.operator.jcajce.JcaContentSignerBuilder;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>("EC");
if v == 0 goto label;
v = "SHA256withECDSA";
goto label;
label:
v = "SHA256WithRSAEncryption";
label:
specialinvoke v.<org.bouncycastle.operator.jcajce.JcaContentSignerBuilder: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.bouncycastle.operator.jcajce.JcaContentSignerBuilder: org.bouncycastle.operator.ContentSigner build(java.security.PrivateKey)>(v);
v = virtualinvoke v.<org.bouncycastle.cert.X509v3CertificateBuilder: org.bouncycastle.cert.X509CertificateHolder build(org.bouncycastle.operator.ContentSigner)>(v);
v = new org.bouncycastle.cert.jcajce.JcaX509CertificateConverter;
specialinvoke v.<org.bouncycastle.cert.jcajce.JcaX509CertificateConverter: void <init>()>();
v = <io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator: java.security.Provider PROVIDER>;
v = virtualinvoke v.<org.bouncycastle.cert.jcajce.JcaX509CertificateConverter: org.bouncycastle.cert.jcajce.JcaX509CertificateConverter setProvider(java.security.Provider)>(v);
v = virtualinvoke v.<org.bouncycastle.cert.jcajce.JcaX509CertificateConverter: java.security.cert.X509Certificate getCertificate(org.bouncycastle.cert.X509CertificateHolder)>(v);
v = virtualinvoke v.<java.security.KeyPair: java.security.PublicKey getPublic()>();
virtualinvoke v.<java.security.cert.X509Certificate: void verify(java.security.PublicKey)>(v);
v = staticinvoke <io.netty.handler.ssl.util.SelfSignedCertificate: java.lang.String[] newSelfSignedCertificate(java.lang.String,java.security.PrivateKey,java.security.cert.X509Certificate)>(v, v, v);
return v;
}
private void <init>()
{
io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator v;
v := @this: io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
static void <clinit>()
{
org.bouncycastle.jce.provider.BouncyCastleProvider v;
v = new org.bouncycastle.jce.provider.BouncyCastleProvider;
specialinvoke v.<org.bouncycastle.jce.provider.BouncyCastleProvider: void <init>()>();
<io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator: java.security.Provider PROVIDER> = v;
return;
}
}