1 /*
2  * hunt-proton: AMQP Protocol library for D programming language.
3  *
4  * Copyright (C) 2018-2019 HuntLabs
5  *
6  * Website: https://www.huntlabs.net/
7  *
8  * Licensed under the Apache-2.0 License.
9  *
10  */
11 module hunt.proton.engine.impl.ssl.SslDomainImpl;
12 
13 //import javax.net.ssl.SSLContext;
14 import hunt.proton.engine.ProtonJSslDomain;
15 import hunt.proton.engine.SslDomain;
16 import hunt.proton.engine.SslPeerDetails;
17 import hunt.proton.engine.impl.ssl.ProtonSslEngineProvider;
18 
19 import hunt.proton.engine.impl.ssl.SslEngineFacadeFactory;
20 
21 import hunt.proton.engine.impl.ssl.ProtonSslEngine;
22 
23 //class SslDomainImpl : SslDomain, ProtonSslEngineProvider, ProtonJSslDomain
24 //{
25 //    private Mode _mode;
26 //    private VerifyMode _verifyMode;
27 //    private string _certificateFile;
28 //    private string _privateKeyFile;
29 //    private string _privateKeyPassword;
30 //    private string _trustedCaDb;
31 //    private bool _allowUnsecuredClient;
32 //    //private SSLContext _sslContext;
33 //
34 //    private SslEngineFacadeFactory _sslEngineFacadeFactory ;//= new SslEngineFacadeFactory();
35 //
36 //    /**
37 //     * Application code should use {@link hunt.proton.engine.SslDomain.Factory#create()} instead.
38 //     */
39 //    this()
40 //    {
41 //        _sslEngineFacadeFactory = new SslEngineFacadeFactory();
42 //    }
43 //
44 //
45 //    public void init(Mode mode)
46 //    {
47 //        _sslEngineFacadeFactory.resetCache();
48 //        _mode = mode;
49 //    }
50 //
51 //
52 //    public Mode getMode()
53 //    {
54 //        return _mode;
55 //    }
56 //
57 //
58 //    public void setCredentials(string certificateFile, string privateKeyFile, string privateKeyPassword)
59 //    {
60 //        _certificateFile = certificateFile;
61 //        _privateKeyFile = privateKeyFile;
62 //        _privateKeyPassword = privateKeyPassword;
63 //        _sslEngineFacadeFactory.resetCache();
64 //    }
65 //
66 //
67 //    public void setTrustedCaDb(string certificateDb)
68 //    {
69 //        _trustedCaDb = certificateDb;
70 //        _sslEngineFacadeFactory.resetCache();
71 //    }
72 //
73 //
74 //    public string getTrustedCaDb()
75 //    {
76 //        return _trustedCaDb;
77 //    }
78 //
79 //
80 //    //public void setSslContext(SSLContext sslContext)
81 //    //{
82 //    //    _sslContext = sslContext;
83 //    //}
84 //    //
85 //    //
86 //    //public SSLContext getSslContext()
87 //    //{
88 //    //    return _sslContext;
89 //    //}
90 //
91 //
92 //    public void setPeerAuthentication(VerifyMode verifyMode)
93 //    {
94 //        _verifyMode = verifyMode;
95 //        _sslEngineFacadeFactory.resetCache();
96 //    }
97 //
98 //
99 //    public VerifyMode getPeerAuthentication()
100 //    {
101 //        if(_verifyMode is null)
102 //        {
103 //           return _mode == Mode.SERVER ? VerifyMode.ANONYMOUS_PEER : VerifyMode.VERIFY_PEER_NAME;
104 //        }
105 //
106 //        return _verifyMode;
107 //    }
108 //
109 //
110 //    public string getPrivateKeyFile()
111 //    {
112 //        return _privateKeyFile;
113 //    }
114 //
115 //
116 //    public string getPrivateKeyPassword()
117 //    {
118 //        return _privateKeyPassword;
119 //    }
120 //
121 //
122 //    public string getCertificateFile()
123 //    {
124 //        return _certificateFile;
125 //    }
126 //
127 //
128 //    public void allowUnsecuredClient(bool allowUnsecured)
129 //    {
130 //        _allowUnsecuredClient = allowUnsecured;
131 //        _sslEngineFacadeFactory.resetCache();
132 //    }
133 //
134 //
135 //    public bool allowUnsecuredClient()
136 //    {
137 //        return _allowUnsecuredClient;
138 //    }
139 //
140 //
141 //    public ProtonSslEngine createSslEngine(SslPeerDetails peerDetails)
142 //    {
143 //        return _sslEngineFacadeFactory.createProtonSslEngine(this, peerDetails);
144 //    }
145 //
146 //
147 //    //public string tostring()
148 //    //{
149 //    //    stringBuilder builder = new stringBuilder();
150 //    //    builder.append("SslDomainImpl [_mode=").append(_mode)
151 //    //        .append(", _verifyMode=").append(_verifyMode)
152 //    //        .append(", _certificateFile=").append(_certificateFile)
153 //    //        .append(", _privateKeyFile=").append(_privateKeyFile)
154 //    //        .append(", _trustedCaDb=").append(_trustedCaDb)
155 //    //        .append(", _allowUnsecuredClient=").append(_allowUnsecuredClient)
156 //    //        .append("]");
157 //    //    return builder.tostring();
158 //    //}
159 //}