#include <IOKit/IOKitLib.h>
#include <IOKit/IOCFUnserialize.h>
#include "csutilities.h"
+#include "notarization.h"
namespace Security {
namespace CodeSigning {
int32_t targetPlatform = get<int32_t>();
return mContext->directory && mContext->directory->platform == targetPlatform;
}
+ case opNotarized:
+ {
+ return isNotarized(mContext);
+ }
default:
// opcode not recognized - handle generically if possible, fail otherwise
if (op & (opGenericFalse | opGenericSkip)) {
if (csr_check(CSR_ALLOW_APPLE_INTERNAL))
return false;
+ if (mContext->forcePlatform) {
+ return true;
+ }
+
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
additionalTrustedCertificates = getAdditionalTrustedAnchors();
return true;
} else if (appleLocalAnchored()) {
return true;
- }
+ }
return false;
}