AES$AlgParamGenGCM.smali
.class public Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenGCM;
.super Lorg/spongycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameterGenerator;
.source "AES.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 470
invoke-direct {p0}, Lorg/spongycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameterGenerator;-><init>()V
return-void
.end method
# virtual methods
.method protected engineGenerateParameters()Ljava/security/AlgorithmParameters;
.registers 5
.prologue
const/16 v0, 0xc
.line 483
new-array v0, v0, [B
.line 485
iget-object v1, p0, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenGCM;->random:Ljava/security/SecureRandom;
if-nez v1, :cond_f
.line 487
new-instance v1, Ljava/security/SecureRandom;
invoke-direct {v1}, Ljava/security/SecureRandom;-><init>()V
iput-object v1, p0, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenGCM;->random:Ljava/security/SecureRandom;
.line 490
:cond_f
iget-object v1, p0, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenGCM;->random:Ljava/security/SecureRandom;
invoke-virtual {v1, v0}, Ljava/security/SecureRandom;->nextBytes([B)V
.line 496
:try_start_14
const-string v1, "GCM"
invoke-virtual {p0, v1}, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenGCM;->createParametersInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
move-result-object v1
.line 497
new-instance v2, Lorg/spongycastle/asn1/cms/GCMParameters;
const/16 v3, 0xc
invoke-direct {v2, v0, v3}, Lorg/spongycastle/asn1/cms/GCMParameters;-><init>([BI)V
invoke-virtual {v2}, Lorg/spongycastle/asn1/cms/GCMParameters;->getEncoded()[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/security/AlgorithmParameters;->init([B)V
:try_end_28
.catch Ljava/lang/Exception; {:try_start_14 .. :try_end_28} :catch_29
.line 504
return-object v1
.line 499
:catch_29
move-exception v0
.line 501
new-instance v1, Ljava/lang/RuntimeException;
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method protected engineInit(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
.registers 5
.prologue
.line 478
new-instance v0, Ljava/security/InvalidAlgorithmParameterException;
const-string v1, "No supported AlgorithmParameterSpec for AES parameter generation."
invoke-direct {v0, v1}, Ljava/security/InvalidAlgorithmParameterException;-><init>(Ljava/lang/String;)V
throw v0
.end method