+#pragma mark -
+
+static CFStringRef EvaluationTaskCreateKey(CFURLRef path, AuthorityType type)
+{
+ CFErrorRef errors = NULL;
+
+ /* concatenate the type and the path before hashing */
+ string pathString = std::to_string(type)+cfString(path);
+ CFRef<CFDataRef> data = makeCFData(pathString.c_str(), pathString.size());
+ CFRef<SecGroupTransformRef> group = SecTransformCreateGroupTransform();
+
+ CFRef<SecTransformRef> sha1 = SecDigestTransformCreate(kSecDigestSHA2, 256, &errors);
+ if( errors )
+ {
+ CFError::throwMe();
+ }
+
+ CFRef<SecTransformRef> b64 = SecEncodeTransformCreate(kSecBase64Encoding, &errors);
+ if ( errors )
+ {
+ CFError::throwMe();
+ }