|
Mixes for Privacy and Anonymity in the Internet
|
Public Member Functions | |
| CACertStore () | |
| ~CACertStore () | |
| SINT32 | add (CACertificate *cert) |
| Adds a COPY of a given certifcate to this CertStore. | |
| CACertificate * | getFirst () |
| CACertificate * | getNext () |
| UINT32 | getNumber () |
| CACertificate * | verifyMixCert (DOMNode *mixNode) |
| This function parses the certificates from a <Mix>-node and tries to build a certPath to the trusted root certificates loaded from the config file. | |
| SINT32 | encode (UINT8 *buff, UINT32 *bufflen, UINT32 type) |
| SINT32 | encode (DOMElement *&elemnRoot, XERCES_CPP_NAMESPACE::DOMDocument *doc) |
| Creates a XML DocumentFragment which represenst all the Certifcates in this CertStore. | |
Static Public Member Functions | |
| static CACertStore * | decode (UINT8 *buff, UINT32 bufflen, UINT32 type) |
| static CACertStore * | decode (const DOMNode *node, UINT32 type) |
Private Attributes | |
| LP_CERTSTORE_ENTRY | m_pCertList |
| UINT32 | m_cCerts |
| LP_CERTSTORE_ENTRY | m_pCurrent |
References m_cCerts, m_pCertList, and m_pCurrent.
Referenced by decode().
References m_pCertList, __t_certstore_list::next, and __t_certstore_list::pCert.
| SINT32 CACertStore::add | ( | CACertificate * | cert | ) |
Adds a COPY of a given certifcate to this CertStore.
| cert | Certifcate of which a copy is added to this cert store |
| E_SUCCESS | if successfull |
| E_UNKNOWN | if not (for instance if cert==NULL) |
References CACertificate::clone(), E_SUCCESS, E_UNKNOWN, m_cCerts, m_pCertList, __t_certstore_list::next, and __t_certstore_list::pCert.
Referenced by decode(), CACmdLnOptions::setOwnCertificate(), and CACmdLnOptions::setTrustedRootCertificates().
| static CACertStore* CACertStore::decode | ( | UINT8 * | buff, |
| UINT32 | bufflen, | ||
| UINT32 | type | ||
| ) | [static] |
Referenced by decode(), and verifyMixCert().
| CACertStore * CACertStore::decode | ( | const DOMNode * | node, |
| UINT32 | type | ||
| ) | [static] |
References add(), CACertStore(), CERT_X509CERTIFICATE, decode(), getElementsByTagName(), and XML_X509DATA.
| SINT32 CACertStore::encode | ( | UINT8 * | buff, |
| UINT32 * | bufflen, | ||
| UINT32 | type | ||
| ) |
References CERT_XML_X509CERTIFICATE, E_SUCCESS, CACertificate::encode(), len, m_pCertList, __t_certstore_list::next, __t_certstore_list::pCert, and XML_X509DATA.
Referenced by CAMultiSignature::signXML().
| SINT32 CACertStore::encode | ( | DOMElement *& | elemRoot, |
| XERCES_CPP_NAMESPACE::DOMDocument * | doc | ||
| ) |
Creates a XML DocumentFragment which represenst all the Certifcates in this CertStore.
| docFrag | on ouput holds the created DOMElement |
| doc | owner document of the new DOM_DocumentFragment |
| E_SUCCESS | if successful |
| E_UNKNOWN | otherwise |
References createDOMElement(), E_SUCCESS, CACertificate::encode(), m_pCertList, __t_certstore_list::next, and __t_certstore_list::pCert.
References m_pCertList, m_pCurrent, and __t_certstore_list::pCert.
Referenced by verifyMixCert().
References m_pCertList, m_pCurrent, __t_certstore_list::next, and __t_certstore_list::pCert.
Referenced by verifyMixCert().
References m_cCerts.
Referenced by CACmdLnOptions::setOwnCertificate(), and CACmdLnOptions::setTrustedRootCertificates().
| CACertificate * CACertStore::verifyMixCert | ( | DOMNode * | mixNode | ) |
This function parses the certificates from a <Mix>-node and tries to build a certPath to the trusted root certificates loaded from the config file.
The certificates are parsed from any <Signature>-node that is a direct child of <Mix> (MultiSignature compatible). The function will return a certificate in the following cases:
| mixNode | - a <Mix>-Node containing one or more signatures |
References decode(), E_SUCCESS, getDOMChildByName(), getFirst(), getNext(), getSignatureElements(), m_cCerts, m_pCertList, MAX_SIGNATURE_ELEMENTS, CAMsg::printMsg(), CACertificate::verify(), and XML_X509DATA.
Referenced by CAMiddleMix::processKeyExchange(), CALastMix::processKeyExchange(), and CAFirstMix::processKeyExchange().
UINT32 CACertStore::m_cCerts [private] |
Referenced by add(), CACertStore(), getNumber(), and verifyMixCert().
LP_CERTSTORE_ENTRY CACertStore::m_pCertList [private] |
Referenced by add(), CACertStore(), encode(), getFirst(), getNext(), verifyMixCert(), and ~CACertStore().
LP_CERTSTORE_ENTRY CACertStore::m_pCurrent [private] |
Referenced by CACertStore(), getFirst(), and getNext().
1.7.6.1