diff --git a/SecretAgentKit/SigningRequestProvenance.swift b/SecretAgentKit/SigningRequestProvenance.swift index d28fcaf..f06a1fa 100644 --- a/SecretAgentKit/SigningRequestProvenance.swift +++ b/SecretAgentKit/SigningRequestProvenance.swift @@ -16,6 +16,10 @@ extension SigningRequestProvenance { chain.last! } + public var intact: Bool { + return chain.reduce(true) { $0 && $1.validSignature } + } + } extension SigningRequestProvenance { @@ -32,7 +36,7 @@ extension SigningRequestProvenance { self.pid = pid self.name = name self.path = path - self.validSignature = true + self.validSignature = validSignature self.parentPID = parentPID } diff --git a/SecretAgentKit/SigningRequestTracer.swift b/SecretAgentKit/SigningRequestTracer.swift index c57c994..625ad5e 100644 --- a/SecretAgentKit/SigningRequestTracer.swift +++ b/SecretAgentKit/SigningRequestTracer.swift @@ -34,9 +34,9 @@ struct SigningRequestTracer { _ = proc_pidpath(pid, pathPointer, UInt32(MAXPATHLEN)) let path = String(cString: pathPointer) var secCode: Unmanaged! - let flags: SecCSFlags = [SecCSFlags.considerExpiration, SecCSFlags.enforceRevocationChecks] + let flags: SecCSFlags = [.considerExpiration, .enforceRevocationChecks] SecCodeCreateWithPID(pid, SecCSFlags(), &secCode) - let valid = SecCodeCheckValidity(secCode.takeRetainedValue(), flags, nil) == ERR_SUCCESS + let valid = SecCodeCheckValidity(secCode.takeRetainedValue(), flags, nil) == errSecSuccess return SigningRequestProvenance.Process(pid: pid, name: procName, path: path, validSignature: valid, parentPID: ppid) }