final class io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator
super_class: java.lang.Object
{
private static final java.security.Provider PROVIDER;
descriptor: Ljava/security/Provider;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new org.bouncycastle.jce.provider.BouncyCastleProvider
dup
invokespecial org.bouncycastle.jce.provider.BouncyCastleProvider.<init>:()V
putstatic io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator.PROVIDER:Ljava/security/Provider;
return
LocalVariableTable:
Start End Slot Name Signature
static java.lang.String[] generate(java.lang.String, java.security.KeyPair, java.security.SecureRandom, java.util.Date, java.util.Date);
descriptor: (Ljava/lang/String;Ljava/security/KeyPair;Ljava/security/SecureRandom;Ljava/util/Date;Ljava/util/Date;)[Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual java.security.KeyPair.getPrivate:()Ljava/security/PrivateKey;
astore 5
start local 5 1: new org.bouncycastle.asn1.x500.X500Name
dup
new java.lang.StringBuilder
dup
ldc "CN="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.bouncycastle.asn1.x500.X500Name.<init>:(Ljava/lang/String;)V
astore 6
start local 6 2: new org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder
dup
3: aload 6
new java.math.BigInteger
dup
bipush 64
aload 2
invokespecial java.math.BigInteger.<init>:(ILjava/util/Random;)V
aload 3
aload 4
aload 6
aload 1
invokevirtual java.security.KeyPair.getPublic:()Ljava/security/PublicKey;
4: invokespecial org.bouncycastle.cert.jcajce.JcaX509v3CertificateBuilder.<init>:(Lorg/bouncycastle/asn1/x500/X500Name;Ljava/math/BigInteger;Ljava/util/Date;Ljava/util/Date;Lorg/bouncycastle/asn1/x500/X500Name;Ljava/security/PublicKey;)V
astore 7
start local 7 5: new org.bouncycastle.operator.jcajce.JcaContentSignerBuilder
dup
ldc "SHA256WithRSAEncryption"
invokespecial org.bouncycastle.operator.jcajce.JcaContentSignerBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual org.bouncycastle.operator.jcajce.JcaContentSignerBuilder.build:(Ljava/security/PrivateKey;)Lorg/bouncycastle/operator/ContentSigner;
astore 8
start local 8 6: aload 7
aload 8
invokevirtual org.bouncycastle.cert.X509v3CertificateBuilder.build:(Lorg/bouncycastle/operator/ContentSigner;)Lorg/bouncycastle/cert/X509CertificateHolder;
astore 9
start local 9 7: new org.bouncycastle.cert.jcajce.JcaX509CertificateConverter
dup
invokespecial org.bouncycastle.cert.jcajce.JcaX509CertificateConverter.<init>:()V
getstatic io.netty.handler.ssl.util.BouncyCastleSelfSignedCertGenerator.PROVIDER:Ljava/security/Provider;
invokevirtual org.bouncycastle.cert.jcajce.JcaX509CertificateConverter.setProvider:(Ljava/security/Provider;)Lorg/bouncycastle/cert/jcajce/JcaX509CertificateConverter;
aload 9
invokevirtual org.bouncycastle.cert.jcajce.JcaX509CertificateConverter.getCertificate:(Lorg/bouncycastle/cert/X509CertificateHolder;)Ljava/security/cert/X509Certificate;
astore 10
start local 10 8: aload 10
aload 1
invokevirtual java.security.KeyPair.getPublic:()Ljava/security/PublicKey;
invokevirtual java.security.cert.X509Certificate.verify:(Ljava/security/PublicKey;)V
9: aload 0
aload 5
aload 10
invokestatic io.netty.handler.ssl.util.SelfSignedCertificate.newSelfSignedCertificate:(Ljava/lang/String;Ljava/security/PrivateKey;Ljava/security/cert/X509Certificate;)[Ljava/lang/String;
areturn
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 10 0 fqdn Ljava/lang/String;
0 10 1 keypair Ljava/security/KeyPair;
0 10 2 random Ljava/security/SecureRandom;
0 10 3 notBefore Ljava/util/Date;
0 10 4 notAfter Ljava/util/Date;
1 10 5 key Ljava/security/PrivateKey;
2 10 6 owner Lorg/bouncycastle/asn1/x500/X500Name;
5 10 7 builder Lorg/bouncycastle/cert/X509v3CertificateBuilder;
6 10 8 signer Lorg/bouncycastle/operator/ContentSigner;
7 10 9 certHolder Lorg/bouncycastle/cert/X509CertificateHolder;
8 10 10 cert Ljava/security/cert/X509Certificate;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
fqdn
keypair
random
notBefore
notAfter
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/util/BouncyCastleSelfSignedCertGenerator;
}
SourceFile: "BouncyCastleSelfSignedCertGenerator.java"