Skip to content
Snippets Groups Projects
Commit aa5b8b84 authored by Adrien Béraud's avatar Adrien Béraud
Browse files

python: add TrustList wrapper

parent d0a8a92a
No related branches found
No related tags found
No related merge requests found
......@@ -318,6 +318,24 @@ cdef class Certificate(_WithID):
c._cert = cpp.make_shared[cpp.Certificate](cpp.Certificate.generate(deref(k._key.get()), name.encode(), i._id, is_ca))
return c
cdef class VerifyResult(object):
cdef cpp.TrustListVerifyResult _result
def __bool__(self):
return self._result.isValid()
def __str(self):
return self._result.toString()
cdef class TrustList(object):
cdef cpp.TrustList _trust
def add(self, Certificate cert):
self._trust.add(deref(cert._cert.get()))
def remove(self, Certificate cert):
self._trust.remove(deref(cert._cert.get()))
def verify(self, Certificate cert):
r = VerifyResult()
r._result = self._trust.verify(deref(cert._cert.get()))
return r
cdef class ListenToken(object):
cdef cpp.InfoHash _h
cdef cpp.shared_future[size_t] _t
......
......@@ -108,6 +108,18 @@ cdef extern from "opendht/crypto.h" namespace "dht::crypto":
Certificate generate(PrivateKey key, string name, Identity ca, bool is_ca)
shared_ptr[Certificate] issuer
cdef cppclass TrustList:
cppclass VerifyResult:
bool operator bool() const
bool isValid() const
string toString() const
TrustList()
void add(Certificate)
void remove(Certificate)
VerifyResult verify(Certificate);
ctypedef TrustList.VerifyResult TrustListVerifyResult
cdef extern from "opendht/value.h" namespace "dht":
cdef cppclass Value:
Value() except +
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment