Merge "Spec: OFPGC_ADD_OR_MOD support in openflowplugin"
[openflowplugin.git] / openflowjava / openflow-protocol-api / src / main / java / org / opendaylight / openflowjava / protocol / api / connection / TlsConfiguration.java
1 /*
2  * Copyright (c) 2014 Pantheon Technologies s.r.o. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.openflowjava.protocol.api.connection;
10
11 import java.util.List;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.config.rev140630.KeystoreType;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.config.rev140630.PathType;
14
15
16 /**
17  * Tls configuration.
18  *
19  * @author michal.polkorab
20  */
21 public interface TlsConfiguration {
22
23     /**
24      * Returns the key store location.
25      *
26      * @return key store location
27      */
28     String getTlsKeystore();
29
30     /**
31      * Returns the key store type.
32      *
33      * @return key store type
34      */
35     KeystoreType getTlsKeystoreType();
36
37     /**
38      * Returns the trust store location.
39      *
40      * @return trust store location
41      */
42     String getTlsTruststore();
43
44     /**
45      * Returns the trust store type.
46      *
47      * @return trust store type
48      */
49     KeystoreType getTlsTruststoreType();
50
51     /**
52      * Returns the key store path type.
53      *
54      * @return key store path type (CLASSPATH or PATH)
55      */
56     PathType getTlsKeystorePathType();
57
58     /**
59      * Returns the trust store path type.
60      *
61      * @return trust store path type (CLASSPATH or PATH)
62      */
63     PathType getTlsTruststorePathType();
64
65     /**
66      * Returns the password protecting the key store.
67      *
68      * @return password protecting the specified key store
69      */
70     String getKeystorePassword();
71
72     /**
73      * Returns the password protecting the certificate.
74      *
75      * @return password protecting certificate
76      */
77     String getCertificatePassword();
78
79     /**
80      * Returns the password protecting the trust store.
81      *
82      * @return password protecting specified trust store
83      */
84     String getTruststorePassword();
85
86     /**
87      * Returns the list of cipher suites for TLS connection.
88      *
89      * @return list of cipher suites for TLS connection
90      */
91     List<String> getCipherSuites();
92 }