]> git.saurik.com Git - apple/security.git/blobdiff - OSX/libsecurity_keychain/lib/CertificateValues.cpp
Security-58286.20.16.tar.gz
[apple/security.git] / OSX / libsecurity_keychain / lib / CertificateValues.cpp
index 4025c9f66ca747bcfc58636e3676d36947b482fb..7fd526d1e85a946abb5459aedddcd29b3a1ddd43 100644 (file)
@@ -39,6 +39,7 @@
 /* FIXME including SecCertificateInternalP.h here produces errors; investigate */
 extern "C" CFDataRef SecCertificateCopyIssuerSequenceP(SecCertificateRefP certificate);
 extern "C" CFDataRef SecCertificateCopySubjectSequenceP(SecCertificateRefP certificate);
+extern "C" CFDictionaryRef SecCertificateCopyAttributeDictionaryP(SecCertificateRefP certificate);
 
 extern "C" void appendPropertyP(CFMutableArrayRef properties, CFStringRef propertyType, CFStringRef label, CFTypeRef value);
 
@@ -419,6 +420,18 @@ CFDataRef CertificateValues::copySubjectSequence(CFErrorRef *error)
        return result;
 }
 
+CFDictionaryRef CertificateValues::copyAttributeDictionary(CFErrorRef *error)
+{
+    CFDictionaryRef result = NULL;
+    SecCertificateRefP certificateP = getSecCertificateRefP(error);
+    if (certificateP)
+    {
+        result = SecCertificateCopyAttributeDictionaryP(certificateP);
+        CFRelease(certificateP);
+    }
+    return result;
+}
+
 bool CertificateValues::isValid(CFAbsoluteTime verifyTime, CFErrorRef *error)
 {
        bool result = NULL;