DefaultTlsClient.smali
.class public abstract Lorg/spongycastle/crypto/tls/DefaultTlsClient;
.super Lorg/spongycastle/crypto/tls/AbstractTlsClient;
.source "DefaultTlsClient.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 10
invoke-direct {p0}, Lorg/spongycastle/crypto/tls/AbstractTlsClient;-><init>()V
.line 11
return-void
.end method
.method public constructor <init>(Lorg/spongycastle/crypto/tls/TlsCipherFactory;)V
.registers 2
.prologue
.line 15
invoke-direct {p0, p1}, Lorg/spongycastle/crypto/tls/AbstractTlsClient;-><init>(Lorg/spongycastle/crypto/tls/TlsCipherFactory;)V
.line 16
return-void
.end method
# virtual methods
.method protected createDHEKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
.registers 5
.prologue
.line 83
new-instance v0, Lorg/spongycastle/crypto/tls/TlsDHEKeyExchange;
iget-object v1, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->supportedSignatureAlgorithms:Ljava/util/Vector;
const/4 v2, 0x0
invoke-direct {v0, p1, v1, v2}, Lorg/spongycastle/crypto/tls/TlsDHEKeyExchange;-><init>(ILjava/util/Vector;Lorg/spongycastle/crypto/params/DHParameters;)V
return-object v0
.end method
.method protected createDHKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
.registers 5
.prologue
.line 78
new-instance v0, Lorg/spongycastle/crypto/tls/TlsDHKeyExchange;
iget-object v1, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->supportedSignatureAlgorithms:Ljava/util/Vector;
const/4 v2, 0x0
invoke-direct {v0, p1, v1, v2}, Lorg/spongycastle/crypto/tls/TlsDHKeyExchange;-><init>(ILjava/util/Vector;Lorg/spongycastle/crypto/params/DHParameters;)V
return-object v0
.end method
.method protected createECDHEKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
.registers 8
.prologue
.line 94
new-instance v0, Lorg/spongycastle/crypto/tls/TlsECDHEKeyExchange;
iget-object v2, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->supportedSignatureAlgorithms:Ljava/util/Vector;
iget-object v3, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->namedCurves:[I
iget-object v4, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->clientECPointFormats:[S
iget-object v5, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->serverECPointFormats:[S
move v1, p1
invoke-direct/range {v0 .. v5}, Lorg/spongycastle/crypto/tls/TlsECDHEKeyExchange;-><init>(ILjava/util/Vector;[I[S[S)V
return-object v0
.end method
.method protected createECDHKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
.registers 8
.prologue
.line 88
new-instance v0, Lorg/spongycastle/crypto/tls/TlsECDHKeyExchange;
iget-object v2, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->supportedSignatureAlgorithms:Ljava/util/Vector;
iget-object v3, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->namedCurves:[I
iget-object v4, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->clientECPointFormats:[S
iget-object v5, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->serverECPointFormats:[S
move v1, p1
invoke-direct/range {v0 .. v5}, Lorg/spongycastle/crypto/tls/TlsECDHKeyExchange;-><init>(ILjava/util/Vector;[I[S[S)V
return-object v0
.end method
.method protected createRSAKeyExchange()Lorg/spongycastle/crypto/tls/TlsKeyExchange;
.registers 3
.prologue
.line 100
new-instance v0, Lorg/spongycastle/crypto/tls/TlsRSAKeyExchange;
iget-object v1, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->supportedSignatureAlgorithms:Ljava/util/Vector;
invoke-direct {v0, v1}, Lorg/spongycastle/crypto/tls/TlsRSAKeyExchange;-><init>(Ljava/util/Vector;)V
return-object v0
.end method
.method public getCipherSuites()[I
.registers 2
.prologue
.line 20
const/16 v0, 0xf
new-array v0, v0, [I
fill-array-data v0, :array_8
return-object v0
:array_8
.array-data 4
0xc02b
0xc023
0xc009
0xc02f
0xc027
0xc013
0xa2
0x40
0x32
0x9e
0x67
0x33
0x9c
0x3c
0x2f
.end array-data
.end method
.method public getKeyExchange()Lorg/spongycastle/crypto/tls/TlsKeyExchange;
.registers 3
.prologue
.line 43
iget v0, p0, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->selectedCipherSuite:I
invoke-static {v0}, Lorg/spongycastle/crypto/tls/TlsUtils;->getKeyExchangeAlgorithm(I)I
move-result v0
.line 45
packed-switch v0, :pswitch_data_2a
.line 72
:pswitch_9
new-instance v0, Lorg/spongycastle/crypto/tls/TlsFatalAlert;
const/16 v1, 0x50
invoke-direct {v0, v1}, Lorg/spongycastle/crypto/tls/TlsFatalAlert;-><init>(S)V
throw v0
.line 49
:pswitch_11
invoke-virtual {p0, v0}, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->createDHKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
move-result-object v0
.line 64
:goto_15
return-object v0
.line 53
:pswitch_16
invoke-virtual {p0, v0}, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->createDHEKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
move-result-object v0
goto :goto_15
.line 57
:pswitch_1b
invoke-virtual {p0, v0}, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->createECDHKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
move-result-object v0
goto :goto_15
.line 61
:pswitch_20
invoke-virtual {p0, v0}, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->createECDHEKeyExchange(I)Lorg/spongycastle/crypto/tls/TlsKeyExchange;
move-result-object v0
goto :goto_15
.line 64
:pswitch_25
invoke-virtual {p0}, Lorg/spongycastle/crypto/tls/DefaultTlsClient;->createRSAKeyExchange()Lorg/spongycastle/crypto/tls/TlsKeyExchange;
move-result-object v0
goto :goto_15
.line 45
:pswitch_data_2a
.packed-switch 0x1
:pswitch_25
:pswitch_9
:pswitch_16
:pswitch_9
:pswitch_16
:pswitch_9
:pswitch_11
:pswitch_9
:pswitch_11
:pswitch_9
:pswitch_9
:pswitch_9
:pswitch_9
:pswitch_9
:pswitch_9
:pswitch_1b
:pswitch_20
:pswitch_1b
:pswitch_20
.end packed-switch
.end method