|
dxd - dynax driver framework 3.0.0d222
cross platform open source driver development framework
|
dx::license's platform part on the Security framework: the keychain's candidates, the chain of trust More...
#include <dx_platform_license.h>
Public Member Functions | |
| ::CFStringRef | cn () const |
| ::CFIndex | count () const noexcept |
| const uint8_t * | data () const noexcept |
| the DER bytes | |
| dx_catchall_rethrow () const reference &retain() const noexcept | |
| dx_catchall_rethrow () virtual ~certificate() | |
| ::CFArrayRef | emails () const |
| void | free () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| reference & | initialize (::SecCertificateRef cf_object, bool retain=true) try |
| ::CFDataRef | issuers () const noexcept |
| The issuer is a sequence in the format used by SecItemCopyMatching. The content returned is a DER-encoded X.509 distinguished name. For a display version of the issuer, call SecCertificateCopyValues. The caller must CFRelease the value returned. | |
| std::string | name (::DWORD type=CERT_NAME_SIMPLE_DISPLAY_TYPE, ::DWORD flags=0) const |
| a name of the certificate (CertGetNameString), the subject's simple display name by default | |
| operator::CFDataRef () const noexcept | |
| operator::CFDictionaryRef () const noexcept | |
| operator::CFTypeID () const noexcept | |
| operator::PCCERT_CONTEXT () const noexcept | |
| operator::SecCertificateRef () const noexcept | |
| operator::SecKeyRef () const noexcept | |
| Retrieves the public key for a given certificate. | |
| ::CFTypeRef | operator[] (::CFArrayRef array) const noexcept |
| ::CFTypeRef | operator[] (::CFStringRef oid) const try |
| reference & | release () noexcept |
| ::CFDataRef | serial () const noexcept |
| Return the content of a DER-encoded integer (without the tag and length fields) for this certificate's serial number. The caller must CFRelease the value returned. | |
| size_t | size () const noexcept |
| ::CFDataRef | subjects () const noexcept |
| The subject is a sequence in the format used by SecItemCopyMatching. The content returned is a DER-encoded X.509 distinguished name. For a display version of the subject, call SecCertificateCopyValues. The caller must CFRelease the value returned. | |
| ::CFStringRef | summary () const noexcept |
| ::CFDateRef | valid_after () const noexcept |
| Returns the absolute time at which the given certificate becomes valid, or NULL if this value could not be obtained. The caller must CFRelease the value returned. | |
| ::CFDateRef | valid_before () const noexcept |
| Returns the absolute time at which the given certificate becomes valid, or NULL if this value could not be obtained. The caller must CFRelease the value returned. | |
Protected Types | |
| typedef sec::certificate | candidate |
| typedef crypt::certificate | candidate |
Protected Member Functions | |
| void | keep (candidate &certificate) |
| void | keep (candidate &certificate) noexcept |
Static Protected Member Functions | |
| template<typename visit_t> | |
| static bool | each (const char *subject, visit_t visit) |
| every keychain certificate whose subject starts with the product's name, until visit(candidate, DER bytes, size) returns false | |
| template<typename visit_t> | |
| static bool | each (const char *subject, visit_t visit) |
| every certificate of the stores whose subject names the product, until visit(candidate, DER bytes, size) returns false | |
| static void | missing () |
| no candidate stood: the keychain holds no license | |
| static void | missing () noexcept |
| no candidate stood: the stores hold no license | |
| static int64_t | now () noexcept |
| static int64_t | now () noexcept |
| static bool | trusted (candidate &certificate, const uint8_t *root, size_t size, int64_t at) |
| the candidate chains to the root, the only trust anchor, at the given time (seconds since 1970; 0: now) | |
| static bool | trusted (candidate &certificate, const uint8_t *root, size_t size, int64_t at) |
| the candidate chains to the root, the only trust anchor, at the given time (seconds since 1970; 0: now) | |
Protected Attributes | |
| ::SecCertificateRef | cf_object |
| ::PCCERT_CONTEXT | context {} |
dx::license's platform part on the Security framework: the keychain's candidates, the chain of trust
dx::license's platform part on CryptoAPI: the candidates of the system certificate stores, the chain of trust
A candidate is a keychain certificate whose subject starts with the product's name. The chain is evaluated with the given root as its only anchor (the keychain trust settings are ignored), at the given date or now; a candidate that does not chain is the enforcement's case (dx_pass_sec_fatal).
The license certificate sits in the Personal store of the current user (a double click on the .crt installs it there) or of the machine (the installer's place, the one a service sees); a candidate names the product in its subject. The chain is evaluated with the given root as its only anchor (an exclusive root store), at the given time or now.
|
protected |
|
protected |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
the DER bytes
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinestaticprotected |
every keychain certificate whose subject starts with the product's name, until visit(candidate, DER bytes, size) returns false
|
inlinestaticprotected |
every certificate of the stores whose subject names the product, until visit(candidate, DER bytes, size) returns false
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
The issuer is a sequence in the format used by SecItemCopyMatching. The content returned is a DER-encoded X.509 distinguished name. For a display version of the issuer, call SecCertificateCopyValues. The caller must CFRelease the value returned.
|
inlineprotected |
|
inlineprotectednoexcept |
|
inlinestaticprotected |
no candidate stood: the keychain holds no license
|
inlinestaticprotectednoexcept |
no candidate stood: the stores hold no license
|
inlineinherited |
a name of the certificate (CertGetNameString), the subject's simple display name by default
|
inlinestaticprotectednoexcept |
|
inlinestaticprotectednoexcept |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineexplicitnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
Retrieves the public key for a given certificate.
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
Return the content of a DER-encoded integer (without the tag and length fields) for this certificate's serial number. The caller must CFRelease the value returned.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
The subject is a sequence in the format used by SecItemCopyMatching. The content returned is a DER-encoded X.509 distinguished name. For a display version of the subject, call SecCertificateCopyValues. The caller must CFRelease the value returned.
|
inlinenoexceptinherited |
|
inlinestaticprotected |
the candidate chains to the root, the only trust anchor, at the given time (seconds since 1970; 0: now)
|
inlinestaticprotected |
the candidate chains to the root, the only trust anchor, at the given time (seconds since 1970; 0: now)
|
inlinenoexceptinherited |
Returns the absolute time at which the given certificate becomes valid, or NULL if this value could not be obtained. The caller must CFRelease the value returned.
|
inlinenoexceptinherited |
Returns the absolute time at which the given certificate becomes valid, or NULL if this value could not be obtained. The caller must CFRelease the value returned.
|
protectedinherited |
|
protectedinherited |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |