SignatureSpiLe.smali
.class public Lorg/spongycastle/jcajce/provider/asymmetric/dstu/SignatureSpiLe;
.super Lorg/spongycastle/jcajce/provider/asymmetric/dstu/SignatureSpi;
.source "SignatureSpiLe.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 9
invoke-direct {p0}, Lorg/spongycastle/jcajce/provider/asymmetric/dstu/SignatureSpi;-><init>()V
return-void
.end method
# virtual methods
.method protected engineSign()[B
.registers 3
.prologue
.line 27
invoke-super {p0}, Lorg/spongycastle/jcajce/provider/asymmetric/dstu/SignatureSpi;->engineSign()[B
move-result-object v0
invoke-static {v0}, Lorg/spongycastle/asn1/ASN1OctetString;->getInstance(Ljava/lang/Object;)Lorg/spongycastle/asn1/ASN1OctetString;
move-result-object v0
invoke-virtual {v0}, Lorg/spongycastle/asn1/ASN1OctetString;->getOctets()[B
move-result-object v0
.line 28
invoke-virtual {p0, v0}, Lorg/spongycastle/jcajce/provider/asymmetric/dstu/SignatureSpiLe;->reverseBytes([B)V
.line 31
:try_start_f
new-instance v1, Lorg/spongycastle/asn1/DEROctetString;
invoke-direct {v1, v0}, Lorg/spongycastle/asn1/DEROctetString;-><init>([B)V
invoke-virtual {v1}, Lorg/spongycastle/asn1/DEROctetString;->getEncoded()[B
:try_end_17
.catch Ljava/lang/Exception; {:try_start_f .. :try_end_17} :catch_19
move-result-object v0
return-object v0
.line 33
:catch_19
move-exception v0
.line 35
new-instance v1, Ljava/security/SignatureException;
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/security/SignatureException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method protected engineVerify([B)Z
.registers 4
.prologue
.line 47
:try_start_0
invoke-static {p1}, Lorg/spongycastle/asn1/ASN1OctetString;->fromByteArray([B)Lorg/spongycastle/asn1/ASN1Primitive;
move-result-object v0
check-cast v0, Lorg/spongycastle/asn1/ASN1OctetString;
invoke-virtual {v0}, Lorg/spongycastle/asn1/ASN1OctetString;->getOctets()[B
:try_end_9
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_9} :catch_1b
move-result-object v0
.line 54
invoke-virtual {p0, v0}, Lorg/spongycastle/jcajce/provider/asymmetric/dstu/SignatureSpiLe;->reverseBytes([B)V
.line 58
:try_start_d
new-instance v1, Lorg/spongycastle/asn1/DEROctetString;
invoke-direct {v1, v0}, Lorg/spongycastle/asn1/DEROctetString;-><init>([B)V
invoke-virtual {v1}, Lorg/spongycastle/asn1/DEROctetString;->getEncoded()[B
move-result-object v0
invoke-super {p0, v0}, Lorg/spongycastle/jcajce/provider/asymmetric/dstu/SignatureSpi;->engineVerify([B)Z
:try_end_19
.catch Ljava/security/SignatureException; {:try_start_d .. :try_end_19} :catch_24
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_19} :catch_26
move-result v0
return v0
.line 51
:catch_1b
move-exception v0
new-instance v0, Ljava/security/SignatureException;
const-string v1, "error decoding signature bytes."
invoke-direct {v0, v1}, Ljava/security/SignatureException;-><init>(Ljava/lang/String;)V
throw v0
.line 62
:catch_24
move-exception v0
throw v0
.line 64
:catch_26
move-exception v0
.line 66
new-instance v1, Ljava/security/SignatureException;
invoke-virtual {v0}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/security/SignatureException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method reverseBytes([B)V
.registers 5
.prologue
.line 16
const/4 v0, 0x0
:goto_1
array-length v1, p1
div-int/lit8 v1, v1, 0x2
if-ge v0, v1, :cond_19
.line 18
aget-byte v1, p1, v0
.line 19
array-length v2, p1
add-int/lit8 v2, v2, -0x1
sub-int/2addr v2, v0
aget-byte v2, p1, v2
aput-byte v2, p1, v0
.line 20
array-length v2, p1
add-int/lit8 v2, v2, -0x1
sub-int/2addr v2, v0
aput-byte v1, p1, v2
.line 16
add-int/lit8 v0, v0, 0x1
goto :goto_1
.line 22
:cond_19
return-void
.end method