Skip to content

New X509Chain status code "DuplicateExtension" in Monterey beta 8 #58833

Description

@vcsjones

I am hitting a Debug.Assert in macOS Monterey beta 8 for the test System.Security.Cryptography.Pkcs.Tests.TimestampTokenTests.TwoEkuExtensions(includeOption: WholeChain).

Output + stack trace
[xUnit.net 00:00:02.02]     System.Security.Cryptography.Pkcs.Tests.TimestampTokenTests.TwoEkuExtensions(includeOption: WholeChain) [FAIL]
  Failed System.Security.Cryptography.Pkcs.Tests.TimestampTokenTests.TwoEkuExtensions(includeOption: WholeChain) [159 ms]
  Error Message:
   Microsoft.VisualStudio.TestPlatform.TestHost.DebugAssertException : Method Debug.Fail failed with 'X509ChainGetStatusAtIndex returned unexpected error 2
', and was translated to Microsoft.VisualStudio.TestPlatform.TestHost.DebugAssertException to avoid terminating the process hosting the test.
  Stack Trace:
     at Microsoft.VisualStudio.TestPlatform.TestHost.TestHostTraceListener.GetException(String message)
   at Microsoft.VisualStudio.TestPlatform.TestHost.TestHostTraceListener.Fail(String message, String detailMessage)
   at System.Diagnostics.TraceInternal.Fail(String message, String detailMessage) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Diagnostics.TraceSource/src/System/Diagnostics/TraceInternal.cs:line 267
   at System.Diagnostics.TraceInternal.TraceProvider.Fail(String message, String detailMessage) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Diagnostics.TraceSource/src/System/Diagnostics/TraceInternal.cs:line 17
   at System.Diagnostics.Debug.Fail(String message, String detailMessage) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Debug.cs:line 134
   at System.Diagnostics.Debug.Fail(String message) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Diagnostics/Debug.cs:line 128
   at Internal.Cryptography.Pal.SecTrustChainPal.ParseResults(SafeX509ChainHandle chainHandle, X509RevocationMode revocationMode) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Pal.OSX/ChainPal.cs:line 296
   at Internal.Cryptography.Pal.SecTrustChainPal.Execute(DateTime verificationTime, Boolean allowNetwork, OidCollection applicationPolicy, OidCollection certificatePolicy, X509RevocationFlag revocationFlag) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Pal.OSX/ChainPal.cs:line 258
   at Internal.Cryptography.Pal.ChainPal.BuildChain(Boolean useMachineContext, ICertificatePal cert, X509Certificate2Collection extraStore, OidCollection applicationPolicy, OidCollection certificatePolicy, X509RevocationMode revocationMode, X509RevocationFlag revocationFlag, X509Certificate2Collection customTrustStore, X509ChainTrustMode trustMode, DateTime verificationTime, TimeSpan timeout, Boolean disableAia) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.X509Certificates/src/Internal/Cryptography/Pal.OSX/ChainPal.cs:line 629
   at System.Security.Cryptography.X509Certificates.X509Chain.Build(X509Certificate2 certificate, Boolean throwOnException) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509Chain.cs:line 134
   at System.Security.Cryptography.X509Certificates.X509Chain.Build(X509Certificate2 certificate) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509Chain.cs:line 107
   at System.Security.Cryptography.Pkcs.CmsSigner.Sign(ReadOnlyMemory`1 data, String contentTypeOid, Boolean silent, X509Certificate2Collection& chainCerts) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/CmsSigner.cs:line 258
   at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer, Boolean silent) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/SignedCms.cs:line 340
   at System.Security.Cryptography.Pkcs.SignedCms.ComputeSignature(CmsSigner signer) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/SignedCms.cs:line 291
   at System.Security.Cryptography.Pkcs.Tests.TimestampTokenTests.BuildCustomToken(CertLoader cert, DateTimeOffset timestamp, SigningCertificateOption v1Option, SigningCertificateOption v2Option, HashAlgorithmName v2DigestAlg, X509IncludeOption includeOption, SubjectIdentifierType identifierType) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.Pkcs/tests/Rfc3161/TimestampTokenTests.cs:line 977
   at System.Security.Cryptography.Pkcs.Tests.TimestampTokenTests.CustomBuild_CertMismatch(CertLoader loader, DateTimeOffset referenceTime, SigningCertificateOption v1Option, SigningCertificateOption v2Option, HashAlgorithmName v2AlgorithmName, X509IncludeOption includeOption, SubjectIdentifierType identifierType) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.Pkcs/tests/Rfc3161/TimestampTokenTests.cs:line 754
   at System.Security.Cryptography.Pkcs.Tests.TimestampTokenTests.TwoEkuExtensions(X509IncludeOption includeOption) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Security.Cryptography.Pkcs/tests/Rfc3161/TimestampTokenTests.cs:line 651
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) in /Users/kjones/Projects/dotnet/runtime-main/src/coreclr/System.Private.CoreLib/src/System/Reflection/RuntimeMethodInfo.cs:line 435
   at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Reflection/MethodBase.cs:line 53
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Runtime/CompilerServices/AsyncMethodBuilderCore.cs:line 38
   at System.Threading.Tasks.Task`1.InnerInvoke() in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Future.cs:line 503
   at System.Threading.Tasks.Task.<>c.<.cctor>b__271_0(Object obj) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2369
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs:line 183
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2327
   at System.Threading.Tasks.Task.ExecuteEntry() in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2240
   at System.Threading.Tasks.SynchronizationContextTaskScheduler.<>c.<.cctor>b__8_0(Object s) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/TaskScheduler.cs:line 628
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs:line 183
   at System.Threading.Tasks.Task.InnerInvoke() in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2387
   at System.Threading.Tasks.Task.<>c.<.cctor>b__271_0(Object obj) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2369
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/ExecutionContext.cs:line 183
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2327
   at System.Threading.Tasks.Task.ExecuteEntryUnsafe(Thread threadPoolThread) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs:line 2265
   at System.Threading.Tasks.ThreadPoolTaskScheduler.<>c.<.cctor>b__10_0(Object s) in /Users/kjones/Projects/dotnet/runtime-main/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/ThreadPoolTaskScheduler.cs:line 35
   at System.Threading.Thread.StartCallback() in /Users/kjones/Projects/dotnet/runtime-main/src/coreclr/System.Private.CoreLib/src/System/Threading/Thread.CoreCLR.cs:line 105
Environment info .NET SDK (reflecting any global.json): Version: 6.0.100-rc.1.21430.12 Commit: 2b28e04218

Runtime Environment:
OS Name: Mac OS X
OS Version: 12.0
OS Platform: Darwin
RID: osx-arm64
Base Path: /Users/kjones/Projects/dotnet/runtime-main/.dotnet/sdk/6.0.100-rc.1.21430.12/

Host (useful for support):
Version: 6.0.0-rc.1.21430.1
Commit: 38e07e0

.NET SDKs installed:
6.0.100-rc.1.21430.12 [/Users/kjones/Projects/dotnet/runtime-main/.dotnet/sdk]

.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.0-rc.1.21430.5 [/Users/kjones/Projects/dotnet/runtime-main/.dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.0-rc.1.21430.1 [/Users/kjones/Projects/dotnet/runtime-main/.dotnet/shared/Microsoft.NETCore.App]

To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions