JCERSAPrivateCrtKey.smali
.class public Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;
.super Lorg/spongycastle/jce/provider/JCERSAPrivateKey;
.source "JCERSAPrivateCrtKey.java"
# interfaces
.implements Ljava/security/interfaces/RSAPrivateCrtKey;
# static fields
.field static final serialVersionUID:J = 0x6cba87ce0273552eL
# instance fields
.field private crtCoefficient:Ljava/math/BigInteger;
.field private primeExponentP:Ljava/math/BigInteger;
.field private primeExponentQ:Ljava/math/BigInteger;
.field private primeP:Ljava/math/BigInteger;
.field private primeQ:Ljava/math/BigInteger;
.field private publicExponent:Ljava/math/BigInteger;
# direct methods
.method constructor <init>(Ljava/security/interfaces/RSAPrivateCrtKey;)V
.registers 3
.prologue
.line 76
invoke-direct {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateKey;-><init>()V
.line 77
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getModulus()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->modulus:Ljava/math/BigInteger;
.line 78
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->publicExponent:Ljava/math/BigInteger;
.line 79
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->privateExponent:Ljava/math/BigInteger;
.line 80
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeP()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeP:Ljava/math/BigInteger;
.line 81
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeQ()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeQ:Ljava/math/BigInteger;
.line 82
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeExponentP()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentP:Ljava/math/BigInteger;
.line 83
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeExponentQ()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentQ:Ljava/math/BigInteger;
.line 84
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getCrtCoefficient()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->crtCoefficient:Ljava/math/BigInteger;
.line 85
return-void
.end method
.method constructor <init>(Ljava/security/spec/RSAPrivateCrtKeySpec;)V
.registers 3
.prologue
.line 58
invoke-direct {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateKey;-><init>()V
.line 59
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getModulus()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->modulus:Ljava/math/BigInteger;
.line 60
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->publicExponent:Ljava/math/BigInteger;
.line 61
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->privateExponent:Ljava/math/BigInteger;
.line 62
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getPrimeP()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeP:Ljava/math/BigInteger;
.line 63
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getPrimeQ()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeQ:Ljava/math/BigInteger;
.line 64
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getPrimeExponentP()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentP:Ljava/math/BigInteger;
.line 65
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getPrimeExponentQ()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentQ:Ljava/math/BigInteger;
.line 66
invoke-virtual {p1}, Ljava/security/spec/RSAPrivateCrtKeySpec;->getCrtCoefficient()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->crtCoefficient:Ljava/math/BigInteger;
.line 67
return-void
.end method
.method constructor <init>(Lorg/spongycastle/asn1/pkcs/PrivateKeyInfo;)V
.registers 3
.prologue
.line 94
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/PrivateKeyInfo;->parsePrivateKey()Lorg/spongycastle/asn1/ASN1Encodable;
move-result-object v0
invoke-static {v0}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getInstance(Ljava/lang/Object;)Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;
move-result-object v0
invoke-direct {p0, v0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;-><init>(Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;)V
.line 95
return-void
.end method
.method constructor <init>(Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;)V
.registers 3
.prologue
.line 102
invoke-direct {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateKey;-><init>()V
.line 103
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getModulus()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->modulus:Ljava/math/BigInteger;
.line 104
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->publicExponent:Ljava/math/BigInteger;
.line 105
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->privateExponent:Ljava/math/BigInteger;
.line 106
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getPrime1()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeP:Ljava/math/BigInteger;
.line 107
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getPrime2()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeQ:Ljava/math/BigInteger;
.line 108
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getExponent1()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentP:Ljava/math/BigInteger;
.line 109
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getExponent2()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentQ:Ljava/math/BigInteger;
.line 110
invoke-virtual {p1}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;->getCoefficient()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->crtCoefficient:Ljava/math/BigInteger;
.line 111
return-void
.end method
.method constructor <init>(Lorg/spongycastle/crypto/params/RSAPrivateCrtKeyParameters;)V
.registers 3
.prologue
.line 41
invoke-direct {p0, p1}, Lorg/spongycastle/jce/provider/JCERSAPrivateKey;-><init>(Lorg/spongycastle/crypto/params/RSAKeyParameters;)V
.line 43
invoke-virtual {p1}, Lorg/spongycastle/crypto/params/RSAPrivateCrtKeyParameters;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->publicExponent:Ljava/math/BigInteger;
.line 44
invoke-virtual {p1}, Lorg/spongycastle/crypto/params/RSAPrivateCrtKeyParameters;->getP()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeP:Ljava/math/BigInteger;
.line 45
invoke-virtual {p1}, Lorg/spongycastle/crypto/params/RSAPrivateCrtKeyParameters;->getQ()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeQ:Ljava/math/BigInteger;
.line 46
invoke-virtual {p1}, Lorg/spongycastle/crypto/params/RSAPrivateCrtKeyParameters;->getDP()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentP:Ljava/math/BigInteger;
.line 47
invoke-virtual {p1}, Lorg/spongycastle/crypto/params/RSAPrivateCrtKeyParameters;->getDQ()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentQ:Ljava/math/BigInteger;
.line 48
invoke-virtual {p1}, Lorg/spongycastle/crypto/params/RSAPrivateCrtKeyParameters;->getQInv()Ljava/math/BigInteger;
move-result-object v0
iput-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->crtCoefficient:Ljava/math/BigInteger;
.line 49
return-void
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.registers 6
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
.line 203
if-ne p1, p0, :cond_5
.line 222
:cond_4
:goto_4
return v0
.line 208
:cond_5
instance-of v2, p1, Ljava/security/interfaces/RSAPrivateCrtKey;
if-nez v2, :cond_b
move v0, v1
.line 210
goto :goto_4
.line 213
:cond_b
check-cast p1, Ljava/security/interfaces/RSAPrivateCrtKey;
.line 215
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getModulus()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getModulus()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_7d
.line 216
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_7d
.line 217
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_7d
.line 218
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeP()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeP()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_7d
.line 219
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeQ()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeQ()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_7d
.line 220
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeExponentP()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeExponentP()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_7d
.line 221
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeExponentQ()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getPrimeExponentQ()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_7d
.line 222
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getCrtCoefficient()Ljava/math/BigInteger;
move-result-object v2
invoke-interface {p1}, Ljava/security/interfaces/RSAPrivateCrtKey;->getCrtCoefficient()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/math/BigInteger;->equals(Ljava/lang/Object;)Z
move-result v2
if-nez v2, :cond_4
:cond_7d
move v0, v1
goto :goto_4
.end method
.method public getCrtCoefficient()Ljava/math/BigInteger;
.registers 2
.prologue
.line 191
iget-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->crtCoefficient:Ljava/math/BigInteger;
return-object v0
.end method
.method public getEncoded()[B
.registers 11
.prologue
.line 131
new-instance v9, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;
sget-object v0, Lorg/spongycastle/asn1/pkcs/PKCSObjectIdentifiers;->rsaEncryption:Lorg/spongycastle/asn1/ASN1ObjectIdentifier;
sget-object v1, Lorg/spongycastle/asn1/DERNull;->INSTANCE:Lorg/spongycastle/asn1/DERNull;
invoke-direct {v9, v0, v1}, Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lorg/spongycastle/asn1/ASN1ObjectIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)V
new-instance v0, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getModulus()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeP()Ljava/math/BigInteger;
move-result-object v4
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeQ()Ljava/math/BigInteger;
move-result-object v5
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeExponentP()Ljava/math/BigInteger;
move-result-object v6
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeExponentQ()Ljava/math/BigInteger;
move-result-object v7
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getCrtCoefficient()Ljava/math/BigInteger;
move-result-object v8
invoke-direct/range {v0 .. v8}, Lorg/spongycastle/asn1/pkcs/RSAPrivateKey;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
invoke-static {v9, v0}, Lorg/spongycastle/jcajce/provider/asymmetric/util/KeyUtil;->getEncodedPrivateKeyInfo(Lorg/spongycastle/asn1/x509/AlgorithmIdentifier;Lorg/spongycastle/asn1/ASN1Encodable;)[B
move-result-object v0
return-object v0
.end method
.method public getFormat()Ljava/lang/String;
.registers 2
.prologue
.line 120
const-string v0, "PKCS#8"
return-object v0
.end method
.method public getPrimeExponentP()Ljava/math/BigInteger;
.registers 2
.prologue
.line 171
iget-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentP:Ljava/math/BigInteger;
return-object v0
.end method
.method public getPrimeExponentQ()Ljava/math/BigInteger;
.registers 2
.prologue
.line 181
iget-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeExponentQ:Ljava/math/BigInteger;
return-object v0
.end method
.method public getPrimeP()Ljava/math/BigInteger;
.registers 2
.prologue
.line 151
iget-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeP:Ljava/math/BigInteger;
return-object v0
.end method
.method public getPrimeQ()Ljava/math/BigInteger;
.registers 2
.prologue
.line 161
iget-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->primeQ:Ljava/math/BigInteger;
return-object v0
.end method
.method public getPublicExponent()Ljava/math/BigInteger;
.registers 2
.prologue
.line 141
iget-object v0, p0, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->publicExponent:Ljava/math/BigInteger;
return-object v0
.end method
.method public hashCode()I
.registers 3
.prologue
.line 196
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getModulus()Ljava/math/BigInteger;
move-result-object v0
invoke-virtual {v0}, Ljava/math/BigInteger;->hashCode()I
move-result v0
.line 197
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigInteger;->hashCode()I
move-result v1
xor-int/2addr v0, v1
.line 198
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v1
invoke-virtual {v1}, Ljava/math/BigInteger;->hashCode()I
move-result v1
xor-int/2addr v0, v1
return v0
.end method
.method public toString()Ljava/lang/String;
.registers 6
.prologue
const/16 v4, 0x10
.line 227
new-instance v0, Ljava/lang/StringBuffer;
invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V
.line 228
invoke-static {}, Lorg/spongycastle/util/Strings;->lineSeparator()Ljava/lang/String;
move-result-object v1
.line 230
const-string v2, "RSA Private CRT Key"
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 231
const-string v2, " modulus: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getModulus()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 232
const-string v2, " public exponent: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPublicExponent()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 233
const-string v2, " private exponent: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrivateExponent()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 234
const-string v2, " primeP: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeP()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 235
const-string v2, " primeQ: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeQ()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 236
const-string v2, " primeExponentP: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeExponentP()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 237
const-string v2, " primeExponentQ: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getPrimeExponentQ()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 238
const-string v2, " crtCoefficient: "
invoke-virtual {v0, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {p0}, Lorg/spongycastle/jce/provider/JCERSAPrivateCrtKey;->getCrtCoefficient()Ljava/math/BigInteger;
move-result-object v3
invoke-virtual {v3, v4}, Ljava/math/BigInteger;->toString(I)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
move-result-object v2
invoke-virtual {v2, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 240
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method