|
xmltooling
1.4.2
|
A helper class for working with keys, certificates, etc. More...
#include <xmltooling/security/SecurityHelper.h>
Static Public Member Functions | |
| static const char * | guessEncodingFormat (const char *pathname) |
| Access a file to try and guess the encoding format used. | |
| static XSECCryptoKey * | loadKeyFromFile (const char *pathname, const char *format=0, const char *password=0) |
| Loads a private key from a local file. | |
| static std::vector < XSECCryptoX509 * > ::size_type | loadCertificatesFromFile (std::vector< XSECCryptoX509 * > &certs, const char *pathname, const char *format=0, const char *password=0) |
| Loads certificate(s) from a local file. | |
| static std::vector < XSECCryptoX509CRL * > ::size_type | loadCRLsFromFile (std::vector< XSECCryptoX509CRL * > &crls, const char *pathname, const char *format=0) |
| Loads CRL(s) from a local file. | |
| static XSECCryptoKey * | loadKeyFromURL (SOAPTransport &transport, const char *backing, const char *format=0, const char *password=0) |
| Loads a private key from a URL. | |
| static std::vector < XSECCryptoX509 * > ::size_type | loadCertificatesFromURL (std::vector< XSECCryptoX509 * > &certs, SOAPTransport &transport, const char *backing, const char *format=0, const char *password=0) |
| Loads certificate(s) from a URL. | |
| static std::vector < XSECCryptoX509CRL * > ::size_type | loadCRLsFromURL (std::vector< XSECCryptoX509CRL * > &crls, SOAPTransport &transport, const char *backing, const char *format=0) |
| Loads CRL(s) from a URL. | |
| static bool | matches (const XSECCryptoKey &key1, const XSECCryptoKey &key2) |
| Compares two keys for equality. | |
| static std::string | doHash (const char *hashAlg, const char *buf, unsigned long buflen, bool toHex=true) |
| Performs a hash operation over the supplied data. | |
| static std::string | getDEREncoding (const Credential &cred, const char *hash, bool nowrap=true) |
| Returns the base64-encoded DER encoding of a public key in SubjectPublicKeyInfo format. | |
| static std::string | getDEREncoding (const XSECCryptoKey &key, const char *hash, bool nowrap=true) |
| Returns the base64-encoded DER encoding of a public key in SubjectPublicKeyInfo format. | |
| static std::string | getDEREncoding (const XSECCryptoX509 &cert, const char *hash, bool nowrap=true) |
| Returns the base64-encoded DER encoding of a certifiate's public key in SubjectPublicKeyInfo format. | |
| static std::string | getDEREncoding (const Credential &cred, bool hash=false, bool nowrap=true) |
| static std::string | getDEREncoding (const XSECCryptoKey &key, bool hash=false, bool nowrap=true) |
| static std::string | getDEREncoding (const XSECCryptoX509 &cert, bool hash=false, bool nowrap=true) |
| static XSECCryptoKey * | fromDEREncoding (const char *buf, unsigned long buflen, bool base64=true) |
| Decodes a DER-encoded public key. | |
| static XSECCryptoKey * | fromDEREncoding (const XMLCh *buf) |
| Decodes a base64-encoded and DER-encoded public key. | |
A helper class for working with keys, certificates, etc.
| static std::string xmltooling::SecurityHelper::doHash | ( | const char * | hashAlg, |
| const char * | buf, | ||
| unsigned long | buflen, | ||
| bool | toHex = true |
||
| ) | [static] |
Performs a hash operation over the supplied data.
| hashAlg | name of hash algorithm, syntax specific to crypto provider |
| buf | input data to hash |
| buflen | length of input data |
| toHex | if true, hex-encodes the resulting raw bytes |
| static XSECCryptoKey* xmltooling::SecurityHelper::fromDEREncoding | ( | const char * | buf, |
| unsigned long | buflen, | ||
| bool | base64 = true |
||
| ) | [static] |
Decodes a DER-encoded public key.
| buf | DER encoded data |
| buflen | length of data in bytes |
| base64 | true iff DER is base64-encoded |
| static XSECCryptoKey* xmltooling::SecurityHelper::fromDEREncoding | ( | const XMLCh * | buf | ) | [static] |
Decodes a base64-encoded and DER-encoded public key.
| buf | base64 and DER encoded data |
| static std::string xmltooling::SecurityHelper::getDEREncoding | ( | const Credential & | cred, |
| const char * | hash, | ||
| bool | nowrap = true |
||
| ) | [static] |
Returns the base64-encoded DER encoding of a public key in SubjectPublicKeyInfo format.
If a hash algorithm is provided, the data is digested before being base64-encoded.
| cred | the credential containing the key to encode |
| hash | optional name of hash algorithm, syntax specific to crypto provider |
| nowrap | if true, any linefeeds will be stripped from the result |
| static std::string xmltooling::SecurityHelper::getDEREncoding | ( | const XSECCryptoKey & | key, |
| const char * | hash, | ||
| bool | nowrap = true |
||
| ) | [static] |
Returns the base64-encoded DER encoding of a public key in SubjectPublicKeyInfo format.
If a hash algorithm is provided, the data is digested before being base64-encoded.
| key | the key to encode |
| hash | optional name of hash algorithm, syntax specific to crypto provider |
| nowrap | if true, any linefeeds will be stripped from the result |
| static std::string xmltooling::SecurityHelper::getDEREncoding | ( | const XSECCryptoX509 & | cert, |
| const char * | hash, | ||
| bool | nowrap = true |
||
| ) | [static] |
Returns the base64-encoded DER encoding of a certifiate's public key in SubjectPublicKeyInfo format.
If a hash algorithm is provided, the data is digested before being base64-encoded.
| cert | the certificate's key to encode |
| hash | optional name of hash algorithm, syntax specific to crypto provider |
| nowrap | if true, any linefeeds will be stripped from the result |
| static std::string xmltooling::SecurityHelper::getDEREncoding | ( | const Credential & | cred, |
| bool | hash = false, |
||
| bool | nowrap = true |
||
| ) | [static] |
| cred | the credential containing the key to encode |
| hash | if true, the DER encoded data is hashed with SHA-1 before base64 encoding |
| nowrap | if true, any linefeeds will be stripped from the result |
| static std::string xmltooling::SecurityHelper::getDEREncoding | ( | const XSECCryptoKey & | key, |
| bool | hash = false, |
||
| bool | nowrap = true |
||
| ) | [static] |
| key | the key to encode |
| hash | if true, the DER encoded data is hashed with SHA-1 before base64 encoding |
| nowrap | if true, any linefeeds will be stripped from the result |
| static std::string xmltooling::SecurityHelper::getDEREncoding | ( | const XSECCryptoX509 & | cert, |
| bool | hash = false, |
||
| bool | nowrap = true |
||
| ) | [static] |
| cert | the certificate's key to encode |
| hash | if true, the DER encoded data is hashed with SHA-1 before base64 encoding |
| nowrap | if true, any linefeeds will be stripped from the result |
| static const char* xmltooling::SecurityHelper::guessEncodingFormat | ( | const char * | pathname | ) | [static] |
Access a file to try and guess the encoding format used.
| pathname | path to file |
| static std::vector<XSECCryptoX509*>::size_type xmltooling::SecurityHelper::loadCertificatesFromFile | ( | std::vector< XSECCryptoX509 * > & | certs, |
| const char * | pathname, | ||
| const char * | format = 0, |
||
| const char * | password = 0 |
||
| ) | [static] |
Loads certificate(s) from a local file.
| certs | array to populate with certificate(s) |
| pathname | path to file containing certificate(s) |
| format | optional constant identifying certificate encoding format |
| password | optional password to decrypt certificate(s) |
| static std::vector<XSECCryptoX509*>::size_type xmltooling::SecurityHelper::loadCertificatesFromURL | ( | std::vector< XSECCryptoX509 * > & | certs, |
| SOAPTransport & | transport, | ||
| const char * | backing, | ||
| const char * | format = 0, |
||
| const char * | password = 0 |
||
| ) | [static] |
Loads certificate(s) from a URL.
| certs | array to populate with certificate(s) |
| transport | object to use to acquire certificate(s) |
| backing | backing file for certificate(s) (written to or read from if download fails) |
| format | optional constant identifying certificate encoding format |
| password | optional password to decrypt certificate(s) |
| static std::vector<XSECCryptoX509CRL*>::size_type xmltooling::SecurityHelper::loadCRLsFromFile | ( | std::vector< XSECCryptoX509CRL * > & | crls, |
| const char * | pathname, | ||
| const char * | format = 0 |
||
| ) | [static] |
Loads CRL(s) from a local file.
| crls | array to populate with CRL(s) |
| pathname | path to file containing CRL(s) |
| format | optional constant identifying CRL encoding format |
| static std::vector<XSECCryptoX509CRL*>::size_type xmltooling::SecurityHelper::loadCRLsFromURL | ( | std::vector< XSECCryptoX509CRL * > & | crls, |
| SOAPTransport & | transport, | ||
| const char * | backing, | ||
| const char * | format = 0 |
||
| ) | [static] |
Loads CRL(s) from a URL.
| crls | array to populate with CRL(s) |
| transport | object to use to acquire CRL(s) |
| backing | backing file for CRL(s) (written to or read from if download fails) |
| format | optional constant identifying CRL encoding format |
| static XSECCryptoKey* xmltooling::SecurityHelper::loadKeyFromFile | ( | const char * | pathname, |
| const char * | format = 0, |
||
| const char * | password = 0 |
||
| ) | [static] |
Loads a private key from a local file.
| pathname | path to file containing key |
| format | optional constant identifying key encoding format |
| password | optional password to decrypt key |
| static XSECCryptoKey* xmltooling::SecurityHelper::loadKeyFromURL | ( | SOAPTransport & | transport, |
| const char * | backing, | ||
| const char * | format = 0, |
||
| const char * | password = 0 |
||
| ) | [static] |
Loads a private key from a URL.
| transport | object to use to acquire key |
| backing | backing file for key (written to or read from if download fails) |
| format | optional constant identifying key encoding format |
| password | optional password to decrypt key |
| static bool xmltooling::SecurityHelper::matches | ( | const XSECCryptoKey & | key1, |
| const XSECCryptoKey & | key2 | ||
| ) | [static] |
Compares two keys for equality.
| key1 | first key to compare |
| key2 | second key to compare |