Repository navigation
Closed
Labels
Known Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tabarea-System.Securityblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
Description
Build Information
Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=1210512
Build error leg or test failing: System.Security.Cryptography.Cose.Tests.CoseMultiSignMessageTests_SignStream_Async.SignWithNullHeaderMaps
Pull request: #121898
Error Message
Fill the error message using step by step known issues guidance.
{
"ErrorMessage": "AppleCFErrorCryptographicException : The operation couldn’t be completed. (OSStatus error -50",
"ErrorPattern": "",
"BuildRetry": false,
"ExcludeConsoleLog": false
}Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1210512
Error message validated: [AppleCFErrorCryptographicException : The operation couldn’t be completed. (OSStatus error -50]
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 11/23/2025 6:27:48 AM UTC
Report
Summary
| 24-Hour Hit Count | 7-Day Hit Count | 1-Month Count |
|---|---|---|
| 0 | 6 | 21 |
Reacted by Copilot
Metadata
Metadata
Assignees
Labels
Known Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tabarea-System.Securityblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'
Activity
jkotas commentedon Nov 23, 2025
Failure log:
dotnet-policy-service commentedon Nov 23, 2025
Tagging subscribers to this area: @dotnet/area-system-security, @bartonjs, @vcsjones
See info in area-owners.md if you want to be subscribed.
vcsjones commentedon Nov 27, 2025
Unless someone beats me to it I will look at this December 4th when I am back from time off.
vcsjones commentedon Dec 2, 2025
That is really strange because 73 is ECDSA. https://github.com/apple-oss-distributions/Security/blob/db15acbe6a7f257a859ad9a3bb86097bfe0679d9/OSX/sec/Security/SecItemConstants.c#L244-L246
danmoseley commentedon Mar 22, 2026
Note
This analysis was generated by GitHub Copilot.
Analysis
All failing tests share a common root cause:
TestKeyRing.get_ES256callsECDsa.Create(ECParameters), which goes through the Apple crypto interop path (Interop.AppleCrypto.CreateDataKey->SecKeyCreateWithData) and intermittently fails withOSStatus -50.As @vcsjones noted, key type 73 is the correct constant for ECDSA in Apple's Security framework (source), so the parameters being passed are valid. This points to a transient failure in the macOS Security framework itself rather than a bug in the .NET code.
Frequency
21 hits in the past month, 6 in the past 7 days. The failures hit many different COSE test methods (Sign, Verify, SignStream, TrySign, etc.) because they all flow through the same
TestKeyRing.ES256property.Possible mitigations
TestKeyRing.ES256is a property that creates a new key on each access. Caching the instance (e.g., viaLazy<ECDsa>) would reduce the number of calls to the flaky Apple API and likely eliminate most occurrences.TestKeyRing.CreateECDsa— wrap theECDsa.Create()call with a short retry (1-2 attempts with a small delay) to handle the transient failure gracefully.