switch to SecTrustEvaulateWihError to avoid deprecation warning #95
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi there! Building smimesign or certstore currently displays a deprecation warning (#85):
I dove into this and this is what I came up with.
SecTrustEvaluate
has been marked as deprecated and should be replaced bySecTrustEvaluateWithError
according to https://developer.apple.com/documentation/security/1394363-sectrustevaluateThe new function,
SecTrustEvaluateWithError
returns a bool if the certificate is trusted or not, which I don't believe we care about or need here. It optionally takes a reference to a CFError as well, in which I pass in nil (but we could capture/parse it if we think it's necessary). According to the docs, to make a determination if the failure is recoverable, the docs say to make a call toSecTrustGetTrustResult
and evaluate thatOSStatus
result.I've modified the code to call
SecTrustEvaluateWithError
followed by a call toSecTrustGetTrustResult
and detemine if that error is recoverable or not. The tests are all passing and I haven't noticed any side effects other than the deprecation warning being gone :)Let me know if you think this is an acceptable PR!