]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - src/modules/extra/ssl_cert.h
OpenSSL gets certs and populates the ssl_cert* now!
[user/henk/code/inspircd.git] / src / modules / extra / ssl_cert.h
1 #ifndef __SSL_CERT_H__
2 #define __SSL_CERT_H__
3
4 #include <map>
5 #include <string>
6
7 typedef std::map<std::string,std::string> ssl_data;
8 typedef ssl_data::iterator ssl_data_iter;
9
10 class ssl_cert
11 {
12         const std::string empty;
13
14  public:
15         ssl_data data;
16
17         ssl_cert() : empty("")
18         {
19         }
20
21         const std::string& GetDN()
22         {
23                 ssl_data_iter ssldi = data.find("dn");
24
25                 if (ssldi != data.end())
26                         return ssldi->second;
27                 else
28                         return empty;
29         }
30
31         const std::string& GetIssuer()
32         {
33                 ssl_data_iter ssldi = data.find("issuer");
34
35                 if (ssldi != data.end())
36                         return ssldi->second;
37                 else
38                         return empty;
39         }
40
41         const std::string& GetError()
42         {
43                 ssl_data_iter ssldi = data.find("error");
44
45                 if (ssldi != data.end())
46                         return ssldi->second;
47                 else
48                         return empty;
49         }
50
51         const std::string& GetFingerprint()
52         {
53                 ssl_data_iter ssldi = data.find("fingerprint");
54
55                 if (ssldi != data.end())
56                         return ssldi->second;
57                 else
58                         return empty;
59         }
60
61         bool IsTrusted()
62         {
63                 ssl_data_iter ssldi = data.find("trusted");
64
65                 if (ssldi != data.end())
66                         return (ssldi->second == "1");
67                 else
68                         return false;
69         }
70
71         bool IsInvalid()
72         {
73                 ssl_data_iter ssldi = data.find("invalid");
74
75                 if (ssldi != data.end())
76                         return (ssldi->second == "1");
77                 else
78                         return false;
79         }
80
81         bool IsUnknownSigner()
82         {
83                 ssl_data_iter ssldi = data.find("unknownsigner");
84
85                 if (ssldi != data.end())
86                         return (ssldi->second == "1");
87                 else
88                         return false;
89         }
90
91         bool IsRevoked()
92         {
93                 ssl_data_iter ssldi = data.find("revoked");
94
95                 if (ssldi != data.end())
96                         return (ssldi->second == "1");
97                 else
98                         return false;
99         }
100 };
101
102 #endif
103