summaryrefslogtreecommitdiffstats
blob: 16f2ae3fc3287256cb1193b949885d4353c230f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
 * Copyright (c) 2011, Isode Limited, London, England.
 * All rights reserved.
 */
/*
 * Copyright (c) 2010, Remko Tron¨on.
 * All rights reserved.
 */

package com.isode.stroke.tls;

import com.isode.stroke.base.ByteArray;
import com.isode.stroke.signals.Signal;
import com.isode.stroke.signals.Signal1;

public abstract class TLSContext {
    //See SSLEngine for real implementation when the time comes
    public abstract void connect();

    public abstract boolean setClientCertificate(PKCS12Certificate cert);

    public abstract void handleDataFromNetwork(ByteArray data);
    public abstract void handleDataFromApplication(ByteArray data);

    public abstract Certificate getPeerCertificate();
    public abstract CertificateVerificationError getPeerCertificateVerificationError();

    public abstract ByteArray getFinishMessage();

    public Signal1<ByteArray> onDataForNetwork = new Signal1<ByteArray>();
    public Signal1<ByteArray> onDataForApplication = new Signal1<ByteArray>();
    public Signal onError = new Signal();
    public Signal onConnected = new Signal();
}