CertificateValues.h [plain text]
#ifndef _SECURITY_CERTIFICATEVALUES_H_
#define _SECURITY_CERTIFICATEVALUES_H_
#include <security_keychain/Certificate.h>
#include "SecBaseP.h"
namespace Security
{
namespace KeychainCore
{
class CertificateValues{
NOCOPY(CertificateValues)
public:
CertificateValues(SecCertificateRef certificateRef);
virtual ~CertificateValues() throw();
static CFStringRef remapLabelToKey(CFStringRef label);
CFDictionaryRef copyFieldValues(CFArrayRef keys, CFErrorRef *error);
CFDataRef copySerialNumber(CFErrorRef *error);
CFDataRef copyNormalizedIssuerContent(CFErrorRef *error);
CFDataRef copyNormalizedSubjectContent(CFErrorRef *error);
CFDataRef copyIssuerSequence(CFErrorRef *error);
CFDataRef copySubjectSequence(CFErrorRef *error);
bool isValid(CFAbsoluteTime verifyTime, CFErrorRef *error);
CFAbsoluteTime notValidBefore(CFErrorRef *error);
CFAbsoluteTime notValidAfter(CFErrorRef *error);
private:
SecCertificateRefP getSecCertificateRefP(CFErrorRef *error);
SecCertificateRef mCertificateRef;
CFDataRef mCertificateData;
static CFDictionaryRef mOIDRemap;
};
}
}
#endif // !_SECURITY_CERTIFICATEVALUES_H_