@@ -531,7 +531,8 @@ void ConfigureListenOptions(ListenOptions listenOptions)
531
531
[ ConditionalTheory ]
532
532
[ InlineData ( HttpProtocols . Http1 ) ]
533
533
[ InlineData ( HttpProtocols . Http1AndHttp2 ) ] // Make sure turning on Http/2 doesn't regress HTTP/1
534
- [ OSSkipCondition ( OperatingSystems . MacOSX | OperatingSystems . Linux , SkipReason = "Not supported yet." ) ]
534
+ [ OSSkipCondition ( OperatingSystems . MacOSX , SkipReason = "Missing platform support." ) ]
535
+ [ SkipOnHelix ( "https://github.com/dotnet/aspnetcore/issues/33566#issuecomment-892031659" , Queues = HelixConstants . RedhatAmd64 ) ] // Outdated OpenSSL client
535
536
public async Task CanRenegotiateForClientCertificate ( HttpProtocols httpProtocols )
536
537
{
537
538
void ConfigureListenOptions ( ListenOptions listenOptions )
@@ -540,6 +541,7 @@ void ConfigureListenOptions(ListenOptions listenOptions)
540
541
listenOptions . UseHttps ( options =>
541
542
{
542
543
options . ServerCertificate = _x509Certificate2 ;
544
+ options . SslProtocols = SslProtocols . Tls12 ; // Linux doesn't support renegotiate on TLS1.3 yet. https://github.com/dotnet/runtime/issues/55757
543
545
options . ClientCertificateMode = ClientCertificateMode . DelayCertificate ;
544
546
options . AllowAnyClientCertificate ( ) ;
545
547
} ) ;
@@ -612,7 +614,8 @@ void ConfigureListenOptions(ListenOptions listenOptions)
612
614
}
613
615
614
616
[ ConditionalFact ]
615
- [ OSSkipCondition ( OperatingSystems . MacOSX | OperatingSystems . Linux , SkipReason = "Not supported yet." ) ]
617
+ [ OSSkipCondition ( OperatingSystems . MacOSX , SkipReason = "Missing platform support." ) ]
618
+ [ SkipOnHelix ( "https://github.com/dotnet/aspnetcore/issues/33566#issuecomment-892031659" , Queues = HelixConstants . RedhatAmd64 ) ] // Outdated OpenSSL client
616
619
public async Task CanRenegotiateForTlsCallbackOptions ( )
617
620
{
618
621
void ConfigureListenOptions ( ListenOptions listenOptions )
@@ -625,6 +628,7 @@ void ConfigureListenOptions(ListenOptions listenOptions)
625
628
return ValueTask . FromResult ( new SslServerAuthenticationOptions ( )
626
629
{
627
630
ServerCertificate = _x509Certificate2 ,
631
+ EnabledSslProtocols = SslProtocols . Tls12 , // Linux doesn't support renegotiate on TLS1.3 yet. https://github.com/dotnet/runtime/issues/55757
628
632
ClientCertificateRequired = false ,
629
633
RemoteCertificateValidationCallback = ( _ , _ , _ , _ ) => true ,
630
634
} ) ;
@@ -658,7 +662,8 @@ void ConfigureListenOptions(ListenOptions listenOptions)
658
662
}
659
663
660
664
[ ConditionalFact ]
661
- [ OSSkipCondition ( OperatingSystems . MacOSX | OperatingSystems . Linux , SkipReason = "Not supported yet." ) ]
665
+ [ OSSkipCondition ( OperatingSystems . MacOSX , SkipReason = "Missing platform support." ) ]
666
+ [ SkipOnHelix ( "https://github.com/dotnet/aspnetcore/issues/33566#issuecomment-892031659" , Queues = HelixConstants . RedhatAmd64 ) ] // Outdated OpenSSL client
662
667
public async Task CanRenegotiateForClientCertificateOnHttp1CanReturnNoCert ( )
663
668
{
664
669
void ConfigureListenOptions ( ListenOptions listenOptions )
@@ -667,6 +672,7 @@ void ConfigureListenOptions(ListenOptions listenOptions)
667
672
listenOptions . UseHttps ( options =>
668
673
{
669
674
options . ServerCertificate = _x509Certificate2 ;
675
+ options . SslProtocols = SslProtocols . Tls12 ; // Linux doesn't support renegotiate on TLS1.3 yet. https://github.com/dotnet/runtime/issues/55757
670
676
options . ClientCertificateMode = ClientCertificateMode . DelayCertificate ;
671
677
options . AllowAnyClientCertificate ( ) ;
672
678
} ) ;
@@ -707,7 +713,8 @@ void ConfigureListenOptions(ListenOptions listenOptions)
707
713
[ ConditionalFact ]
708
714
// TLS 1.2 and lower have to renegotiate the whole connection to get a client cert, and if that hits an error
709
715
// then the connection is aborted.
710
- [ OSSkipCondition ( OperatingSystems . MacOSX | OperatingSystems . Linux , SkipReason = "Not supported yet." ) ]
716
+ [ OSSkipCondition ( OperatingSystems . MacOSX , SkipReason = "Missing platform support." ) ]
717
+ [ SkipOnHelix ( "https://github.com/dotnet/aspnetcore/issues/33566#issuecomment-892031659" , Queues = HelixConstants . RedhatAmd64 ) ] // Outdated OpenSSL client
711
718
public async Task RenegotiateForClientCertificateOnPostWithoutBufferingThrows_TLS12 ( )
712
719
{
713
720
void ConfigureListenOptions ( ListenOptions listenOptions )
@@ -752,7 +759,8 @@ void ConfigureListenOptions(ListenOptions listenOptions)
752
759
// TLS 1.3 uses a new client cert negotiation extension that doesn't cause the connection to abort
753
760
// for this error.
754
761
[ MinimumOSVersion ( OperatingSystems . Windows , "10.0.20145" ) ] // Needs a preview version with TLS 1.3 enabled.
755
- [ OSSkipCondition ( OperatingSystems . MacOSX | OperatingSystems . Linux , SkipReason = "Not supported yet." ) ]
762
+ [ OSSkipCondition ( OperatingSystems . MacOSX | OperatingSystems . Linux , SkipReason = "https://github.com/dotnet/runtime/issues/55757" ) ]
763
+ [ SkipOnHelix ( "https://github.com/dotnet/aspnetcore/issues/33566#issuecomment-892031659" , Queues = HelixConstants . RedhatAmd64 ) ] // Outdated OpenSSL client
756
764
public async Task RenegotiateForClientCertificateOnPostWithoutBufferingThrows_TLS13 ( )
757
765
{
758
766
void ConfigureListenOptions ( ListenOptions listenOptions )
@@ -888,7 +896,8 @@ await stream.AuthenticateAsClientAsync(new SslClientAuthenticationOptions()
888
896
}
889
897
890
898
[ ConditionalFact ]
891
- [ OSSkipCondition ( OperatingSystems . MacOSX | OperatingSystems . Linux , SkipReason = "Not supported yet." ) ]
899
+ [ OSSkipCondition ( OperatingSystems . MacOSX , SkipReason = "Missing platform support." ) ]
900
+ [ SkipOnHelix ( "https://github.com/dotnet/aspnetcore/issues/33566#issuecomment-892031659" , Queues = HelixConstants . RedhatAmd64 ) ] // Outdated OpenSSL client
892
901
public async Task CanRenegotiateForClientCertificateOnPostIfDrained ( )
893
902
{
894
903
void ConfigureListenOptions ( ListenOptions listenOptions )
@@ -897,6 +906,7 @@ void ConfigureListenOptions(ListenOptions listenOptions)
897
906
listenOptions . UseHttps ( options =>
898
907
{
899
908
options . ServerCertificate = _x509Certificate2 ;
909
+ options . SslProtocols = SslProtocols . Tls12 ; // Linux doesn't support renegotiate on TLS1.3 yet. https://github.com/dotnet/runtime/issues/55757
900
910
options . ClientCertificateMode = ClientCertificateMode . DelayCertificate ;
901
911
options . AllowAnyClientCertificate ( ) ;
902
912
} ) ;
0 commit comments