version 0.0.1
[fms.git] / src / freenet / freenetssk.cpp
1 #include "../../include/freenet/freenetssk.h"\r
2 \r
3 #ifdef XMEM\r
4         #include <xmem.h>\r
5 #endif\r
6 \r
7 const bool FreenetSSK::SetPrivateKey(const std::string &privatekey)\r
8 {\r
9         if(ValidBaseKey(privatekey))\r
10         {\r
11                 m_privatekey=privatekey;\r
12                 return true;\r
13         }\r
14         else\r
15         {\r
16                 return false;\r
17         }\r
18 }\r
19 \r
20 const bool FreenetSSK::SetPublicKey(const std::string &publickey)\r
21 {\r
22         if(ValidBaseKey(publickey))\r
23         {\r
24                 m_publickey=publickey;\r
25                 return true;\r
26         }\r
27         else\r
28         {\r
29                 return false;\r
30         }\r
31 }\r
32 \r
33 const bool FreenetSSK::ValidBaseKey(const std::string &key) const\r
34 {\r
35         if(key.size()==0)\r
36         {\r
37                 return false;\r
38         }\r
39         if(key.find("SSK@")!=0)\r
40         {\r
41                 return false;\r
42         }\r
43         if(key.size()>0 && key.find("/")!=key.size()-1)\r
44         {\r
45                 return false;\r
46         }\r
47         return true;\r
48 }\r
49 \r
50 const bool FreenetSSK::ValidPrivateKey() const\r
51 {\r
52         return ValidBaseKey(m_privatekey);\r
53 }\r
54 \r
55 const bool FreenetSSK::ValidPublicKey() const\r
56 {\r
57         return ValidBaseKey(m_publickey);\r
58 }\r