AES$AlgParamGenCCM.smali
.class public Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenCCM;
.super Lorg/spongycastle/jcajce/provider/symmetric/util/BaseAlgorithmParameterGenerator;
.source "AES.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 432
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 445
new-array v0, v0, [B
.line 447
iget-object v1, p0, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenCCM;->random:Ljava/security/SecureRandom;
if-nez v1, :cond_f
.line 449
new-instance v1, Ljava/security/SecureRandom;
invoke-direct {v1}, Ljava/security/SecureRandom;-><init>()V
iput-object v1, p0, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenCCM;->random:Ljava/security/SecureRandom;
.line 452
:cond_f
iget-object v1, p0, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenCCM;->random:Ljava/security/SecureRandom;
invoke-virtual {v1, v0}, Ljava/security/SecureRandom;->nextBytes([B)V
.line 458
:try_start_14
const-string v1, "CCM"
invoke-virtual {p0, v1}, Lorg/spongycastle/jcajce/provider/symmetric/AES$AlgParamGenCCM;->createParametersInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
move-result-object v1
.line 459
new-instance v2, Lorg/spongycastle/asn1/cms/CCMParameters;
const/16 v3, 0xc
invoke-direct {v2, v0, v3}, Lorg/spongycastle/asn1/cms/CCMParameters;-><init>([BI)V
invoke-virtual {v2}, Lorg/spongycastle/asn1/cms/CCMParameters;->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 466
return-object v1
.line 461
:catch_29
move-exception v0
.line 463
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 440
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