You've already forked linux-packaging-mono
Imported Upstream version 5.2.0.175
Former-commit-id: bb0468d0f257ff100aa895eb5fe583fb5dfbf900
This commit is contained in:
parent
4bdbaf4a88
commit
966bba02bb
@@ -1,7 +1,6 @@
|
||||

|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
VisualStudioVersion = 14.0.23107.0
|
||||
VisualStudioVersion = 14.0.25420.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security.Cryptography.X509Certificates.Tests", "tests\System.Security.Cryptography.X509Certificates.Tests.csproj", "{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
@@ -9,313 +8,43 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security.Cryptograph
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security.Cryptography.X509Certificates", "src\System.Security.Cryptography.X509Certificates.csproj", "{6F8576C2-6CD0-4DF3-8394-00B002D82E40}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B37248D0-B191-4971-AD50-01CFEDF1E09B} = {B37248D0-B191-4971-AD50-01CFEDF1E09B}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security.Cryptography.X509Certificates", "ref\System.Security.Cryptography.X509Certificates.csproj", "{B37248D0-B191-4971-AD50-01CFEDF1E09B}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{1A2F9F4A-A032-433E-B914-ADD5992BB178}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{E107E9C1-E893-4E87-987E-04EF0DCEAEFD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ref", "ref", "{2E666815-2EDB-464B-9DF6-380BF4789AD4}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU
|
||||
DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU = ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = net463-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnet463-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = net463-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Unixnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Unix-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Unix|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.DebugNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.ReleaseNETCoreAppnetcoreapp-Windows_NTnetcoreapp-Windows_NT|AnyCPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.Debug|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.Debug|Any CPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.Release|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E}.Release|Any CPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.Debug|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.Debug|Any CPU.Build.0 = netcoreapp-Windows_NT-Debug|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.Release|Any CPU.ActiveCfg = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40}.Release|Any CPU.Build.0 = netcoreapp-Windows_NT-Release|Any CPU
|
||||
{B37248D0-B191-4971-AD50-01CFEDF1E09B}.Debug|Any CPU.ActiveCfg = netcoreapp-Debug|Any CPU
|
||||
{B37248D0-B191-4971-AD50-01CFEDF1E09B}.Debug|Any CPU.Build.0 = netcoreapp-Debug|Any CPU
|
||||
{B37248D0-B191-4971-AD50-01CFEDF1E09B}.Release|Any CPU.ActiveCfg = netcoreapp-Release|Any CPU
|
||||
{B37248D0-B191-4971-AD50-01CFEDF1E09B}.Release|Any CPU.Build.0 = netcoreapp-Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
{A28B0064-EFB2-4B77-B97C-DECF5DAB074E} = {1A2F9F4A-A032-433E-B914-ADD5992BB178}
|
||||
{6F8576C2-6CD0-4DF3-8394-00B002D82E40} = {E107E9C1-E893-4E87-987E-04EF0DCEAEFD}
|
||||
{B37248D0-B191-4971-AD50-01CFEDF1E09B} = {2E666815-2EDB-464B-9DF6-380BF4789AD4}
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
<PropertyGroup>
|
||||
<AssemblyVersion>4.2.0.0</AssemblyVersion>
|
||||
<IsNETCoreApp>true</IsNETCoreApp>
|
||||
<IsUAP>true</IsUAP>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<ItemGroup>
|
||||
<Project Include="System.Security.Cryptography.X509Certificates.csproj" />
|
||||
<Project Include="System.Security.Cryptography.X509Certificates.csproj">
|
||||
<TargetGroup>netcoreapp</TargetGroup>
|
||||
</Project>
|
||||
</ItemGroup>
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.traversal.targets))\dir.traversal.targets" />
|
||||
</Project>
|
||||
@@ -18,6 +18,11 @@ namespace Microsoft.Win32.SafeHandles
|
||||
|
||||
namespace System.Security.Cryptography.X509Certificates
|
||||
{
|
||||
public static partial class DSACertificateExtensions
|
||||
{
|
||||
public static System.Security.Cryptography.DSA GetDSAPrivateKey(this System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { throw null; }
|
||||
public static System.Security.Cryptography.DSA GetDSAPublicKey(this System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { throw null; }
|
||||
}
|
||||
public static partial class ECDsaCertificateExtensions
|
||||
{
|
||||
public static System.Security.Cryptography.ECDsa GetECDsaPrivateKey(this System.Security.Cryptography.X509Certificates.X509Certificate2 certificate) { throw null; }
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
|
||||
<PropertyGroup>
|
||||
<ProjectGuid>{B37248D0-B191-4971-AD50-01CFEDF1E09B}</ProjectGuid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Debug|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'netcoreapp-Release|AnyCPU'" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'uap-Debug|AnyCPU'" />
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
Total Issues: 0
|
||||
@@ -2,11 +2,10 @@
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<BuildConfigurations>
|
||||
netcoreapp-OSX;
|
||||
netcoreapp-Unix;
|
||||
netcoreapp-Windows_NT;
|
||||
net463-Windows_NT;
|
||||
netcoreapp-Unix;
|
||||
netcoreapp-Windows_NT;
|
||||
uap-Windows_NT;
|
||||
</BuildConfigurations>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -55,6 +55,9 @@ namespace Internal.Cryptography.Pal
|
||||
if (typeof(T) == typeof(ECDsa))
|
||||
return (T)(object)certificate.Pal.GetECDsaPrivateKey();
|
||||
|
||||
if (typeof(T) == typeof(DSA))
|
||||
return (T)(object)certificate.Pal.GetDSAPrivateKey();
|
||||
|
||||
Debug.Fail("Expected GetExpectedOidValue() to have thrown before we got here.");
|
||||
throw new NotSupportedException(SR.NotSupported_KeyAlgorithm);
|
||||
}
|
||||
@@ -65,6 +68,8 @@ namespace Internal.Cryptography.Pal
|
||||
return Oids.RsaRsa;
|
||||
if (typeof(T) == typeof(ECDsa))
|
||||
return Oids.Ecc;
|
||||
if (typeof(T) == typeof(DSA))
|
||||
return Oids.DsaDsa;
|
||||
throw new NotSupportedException(SR.NotSupported_KeyAlgorithm);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,6 @@ namespace Internal.Cryptography
|
||||
X500DistinguishedName SubjectName { get; }
|
||||
X500DistinguishedName IssuerName { get; }
|
||||
IEnumerable<X509Extension> Extensions { get; }
|
||||
AsymmetricAlgorithm GetPrivateKey();
|
||||
RSA GetRSAPrivateKey();
|
||||
DSA GetDSAPrivateKey();
|
||||
ECDsa GetECDsaPrivateKey();
|
||||
|
||||
@@ -15,8 +15,13 @@ namespace Internal.Cryptography
|
||||
//
|
||||
internal static class Oids
|
||||
{
|
||||
public const string CommonName = "2.5.4.3";
|
||||
public const string Organization = "2.5.4.10";
|
||||
public const string OrganizationalUnit = "2.5.4.11";
|
||||
public const string BasicConstraints = "2.5.29.10";
|
||||
public const string SubjectKeyIdentifier = "2.5.29.14";
|
||||
public const string SubjectAltName = "2.5.29.17";
|
||||
public const string IssuerAltName = "2.5.29.18";
|
||||
public const string KeyUsage = "2.5.29.15";
|
||||
public const string BasicConstraints2 = "2.5.29.19";
|
||||
public const string CrlDistributionPoints = "2.5.29.31";
|
||||
@@ -31,6 +36,7 @@ namespace Internal.Cryptography
|
||||
public const string DsaDsa = "1.2.840.10040.4.1";
|
||||
public const string EmailAddress = "1.2.840.113549.1.9.1";
|
||||
public const string EnrollCertTypeExtension = "1.3.6.1.4.1.311.20.2";
|
||||
public const string UserPrincipalName = "1.3.6.1.4.1.311.20.2.3";
|
||||
public const string CertificateTemplate = "1.3.6.1.4.1.311.21.7";
|
||||
public const string ApplicationCertPolicies = "1.3.6.1.4.1.311.21.10";
|
||||
public const string AuthorityInformationAccess = "1.3.6.1.5.5.7.1.1";
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,64 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal sealed partial class FindPal
|
||||
{
|
||||
internal static IFindPal OpenPal(X509Certificate2Collection findFrom, X509Certificate2Collection copyTo, bool validOnly)
|
||||
{
|
||||
return new AppleCertificateFinder(findFrom, copyTo, validOnly);
|
||||
}
|
||||
|
||||
private sealed class AppleCertificateFinder : ManagedCertificateFinder
|
||||
{
|
||||
public AppleCertificateFinder(X509Certificate2Collection findFrom, X509Certificate2Collection copyTo, bool validOnly)
|
||||
: base(findFrom, copyTo, validOnly)
|
||||
{
|
||||
}
|
||||
|
||||
protected override string DerStringToManagedString(byte[] anyString)
|
||||
{
|
||||
DerSequenceReader reader = DerSequenceReader.CreateForPayload(anyString);
|
||||
|
||||
var tag = (DerSequenceReader.DerTag)reader.PeekTag();
|
||||
string value = null;
|
||||
|
||||
switch (tag)
|
||||
{
|
||||
case DerSequenceReader.DerTag.BMPString:
|
||||
value = reader.ReadBMPString();
|
||||
break;
|
||||
case DerSequenceReader.DerTag.IA5String:
|
||||
value = reader.ReadIA5String();
|
||||
break;
|
||||
case DerSequenceReader.DerTag.PrintableString:
|
||||
value = reader.ReadPrintableString();
|
||||
break;
|
||||
case DerSequenceReader.DerTag.UTF8String:
|
||||
value = reader.ReadUtf8String();
|
||||
break;
|
||||
|
||||
// Ignore anything we don't know how to read.
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
protected override byte[] GetSubjectPublicKeyInfo(X509Certificate2 cert)
|
||||
{
|
||||
AppleCertificatePal pal = (AppleCertificatePal)cert.Pal;
|
||||
return pal.SubjectPublicKeyInfo;
|
||||
}
|
||||
|
||||
protected override X509Certificate2 CloneCertificate(X509Certificate2 cert)
|
||||
{
|
||||
return new X509Certificate2(cert.Handle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,98 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.Apple;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using Microsoft.Win32.SafeHandles;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal sealed partial class StorePal
|
||||
{
|
||||
private sealed class AppleKeychainStore : IStorePal
|
||||
{
|
||||
private SafeKeychainHandle _keychainHandle;
|
||||
private readonly bool _readonly;
|
||||
|
||||
internal AppleKeychainStore(SafeKeychainHandle keychainHandle, OpenFlags openFlags)
|
||||
{
|
||||
Debug.Assert(keychainHandle != null && !keychainHandle.IsInvalid);
|
||||
|
||||
_keychainHandle = keychainHandle;
|
||||
|
||||
_readonly = (openFlags & (OpenFlags.ReadWrite | OpenFlags.MaxAllowed)) == 0;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_keychainHandle?.Dispose();
|
||||
_keychainHandle = null;
|
||||
}
|
||||
|
||||
public void CloneTo(X509Certificate2Collection collection)
|
||||
{
|
||||
HashSet<X509Certificate2> dedupedCerts = new HashSet<X509Certificate2>();
|
||||
|
||||
using (SafeCFArrayHandle identities = Interop.AppleCrypto.KeychainEnumerateIdentities(_keychainHandle))
|
||||
{
|
||||
ReadCollection(identities, dedupedCerts);
|
||||
}
|
||||
|
||||
using (SafeCFArrayHandle certs = Interop.AppleCrypto.KeychainEnumerateCerts(_keychainHandle))
|
||||
{
|
||||
ReadCollection(certs, dedupedCerts);
|
||||
}
|
||||
|
||||
foreach (X509Certificate2 cert in dedupedCerts)
|
||||
{
|
||||
collection.Add(cert);
|
||||
}
|
||||
}
|
||||
|
||||
public void Add(ICertificatePal cert)
|
||||
{
|
||||
if (_readonly)
|
||||
throw new CryptographicException(SR.Cryptography_X509_StoreReadOnly);
|
||||
|
||||
AppleCertificatePal applePal = (AppleCertificatePal)cert;
|
||||
|
||||
var handle = (SafeKeychainItemHandle)applePal.IdentityHandle ?? applePal.CertificateHandle;
|
||||
Interop.AppleCrypto.X509StoreAddCertificate(handle, _keychainHandle);
|
||||
}
|
||||
|
||||
public void Remove(ICertificatePal cert)
|
||||
{
|
||||
if (_readonly)
|
||||
throw new CryptographicException(SR.Cryptography_X509_StoreReadOnly);
|
||||
|
||||
AppleCertificatePal applePal = (AppleCertificatePal)cert;
|
||||
|
||||
Interop.AppleCrypto.X509StoreRemoveCertificate(applePal.CertificateHandle, _keychainHandle);
|
||||
}
|
||||
|
||||
public SafeHandle SafeHandle => _keychainHandle;
|
||||
|
||||
public static AppleKeychainStore OpenDefaultKeychain(OpenFlags openFlags)
|
||||
{
|
||||
return new AppleKeychainStore(Interop.AppleCrypto.SecKeychainCopyDefault(), openFlags);
|
||||
}
|
||||
|
||||
public static AppleKeychainStore OpenSystemSharedKeychain(OpenFlags openFlags)
|
||||
{
|
||||
const string SharedSystemKeychainPath = "/Library/Keychains/System.keychain";
|
||||
return OpenKeychain(SharedSystemKeychainPath, openFlags);
|
||||
}
|
||||
|
||||
private static AppleKeychainStore OpenKeychain(string keychainPath, OpenFlags openFlags)
|
||||
{
|
||||
return new AppleKeychainStore(Interop.AppleCrypto.SecKeychainOpen(keychainPath), openFlags);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using Microsoft.Win32.SafeHandles;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal sealed partial class StorePal
|
||||
{
|
||||
private sealed class AppleTrustStore : IStorePal
|
||||
{
|
||||
private readonly StoreName _storeName;
|
||||
private readonly StoreLocation _location;
|
||||
|
||||
private AppleTrustStore(StoreName storeName, StoreLocation location)
|
||||
{
|
||||
Debug.Assert(storeName == StoreName.Root || storeName == StoreName.Disallowed);
|
||||
|
||||
_storeName = storeName;
|
||||
_location = location;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
// Nothing to do.
|
||||
}
|
||||
|
||||
public void CloneTo(X509Certificate2Collection collection)
|
||||
{
|
||||
HashSet<X509Certificate2> dedupedCerts = new HashSet<X509Certificate2>();
|
||||
|
||||
if (_storeName == StoreName.Root)
|
||||
{
|
||||
using (SafeCFArrayHandle certs = Interop.AppleCrypto.StoreEnumerateRoot(_location))
|
||||
{
|
||||
ReadCollection(certs, dedupedCerts);
|
||||
}
|
||||
}
|
||||
else if (_storeName == StoreName.Disallowed)
|
||||
{
|
||||
using (SafeCFArrayHandle certs = Interop.AppleCrypto.StoreEnumerateDisallowed(_location))
|
||||
{
|
||||
ReadCollection(certs, dedupedCerts);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Debug.Fail($"No handler for trust store {_storeName}");
|
||||
}
|
||||
|
||||
foreach (X509Certificate2 cert in dedupedCerts)
|
||||
{
|
||||
collection.Add(cert);
|
||||
}
|
||||
}
|
||||
|
||||
public void Add(ICertificatePal cert)
|
||||
{
|
||||
throw new CryptographicException(SR.Cryptography_X509_StoreReadOnly);
|
||||
}
|
||||
|
||||
public void Remove(ICertificatePal cert)
|
||||
{
|
||||
throw new CryptographicException(SR.Cryptography_X509_StoreReadOnly);
|
||||
}
|
||||
|
||||
public SafeHandle SafeHandle => null;
|
||||
|
||||
internal static AppleTrustStore OpenStore(StoreName storeName, StoreLocation location, OpenFlags openFlags)
|
||||
{
|
||||
if ((openFlags & OpenFlags.ReadWrite) == OpenFlags.ReadWrite)
|
||||
throw new CryptographicException(SR.Security_AccessDenied);
|
||||
|
||||
return new AppleTrustStore(storeName, location);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using Microsoft.Win32.SafeHandles;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal sealed partial class StorePal
|
||||
{
|
||||
private sealed class AppleCertificateExporter : IExportPal
|
||||
{
|
||||
private X509Certificate2Collection _certs;
|
||||
private ICertificatePal _singleCertPal;
|
||||
|
||||
public AppleCertificateExporter(ICertificatePal cert)
|
||||
{
|
||||
_singleCertPal = cert;
|
||||
}
|
||||
|
||||
public AppleCertificateExporter(X509Certificate2Collection certs)
|
||||
{
|
||||
_certs = certs;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
// Don't dispose any of the resources, they're still owned by the caller.
|
||||
_singleCertPal = null;
|
||||
_certs = null;
|
||||
}
|
||||
|
||||
public byte[] Export(X509ContentType contentType, SafePasswordHandle password)
|
||||
{
|
||||
Debug.Assert(password != null);
|
||||
switch (contentType)
|
||||
{
|
||||
case X509ContentType.Cert:
|
||||
return ExportX509Der();
|
||||
case X509ContentType.Pkcs12:
|
||||
return ExportPkcs12(password);
|
||||
case X509ContentType.Pkcs7:
|
||||
return ExportPkcs7();
|
||||
case X509ContentType.SerializedCert:
|
||||
case X509ContentType.SerializedStore:
|
||||
throw new PlatformNotSupportedException(SR.Cryptography_Unix_X509_SerializedExport);
|
||||
default:
|
||||
throw new CryptographicException(SR.Cryptography_X509_InvalidContentType);
|
||||
}
|
||||
}
|
||||
|
||||
private byte[] ExportX509Der()
|
||||
{
|
||||
if (_singleCertPal != null)
|
||||
{
|
||||
return _singleCertPal.RawData;
|
||||
}
|
||||
|
||||
// Windows/Desktop compatibility: Exporting a collection (or store) as
|
||||
// X509ContentType.Cert returns the equivalent of FirstOrDefault(),
|
||||
// so anything past _certs[0] is ignored, and an empty collection is
|
||||
// null (not an Exception)
|
||||
if (_certs.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return _certs[0].RawData;
|
||||
}
|
||||
|
||||
private byte[] ExportPkcs12(SafePasswordHandle password)
|
||||
{
|
||||
IntPtr[] certHandles;
|
||||
|
||||
if (_singleCertPal != null)
|
||||
{
|
||||
certHandles = new[] { _singleCertPal.Handle };
|
||||
}
|
||||
else
|
||||
{
|
||||
certHandles = new IntPtr[_certs.Count];
|
||||
|
||||
for (int i = 0; i < _certs.Count; i++)
|
||||
{
|
||||
certHandles[i] = _certs[i].Handle;
|
||||
}
|
||||
}
|
||||
|
||||
return Interop.AppleCrypto.X509ExportPfx(certHandles, password);
|
||||
}
|
||||
|
||||
private byte[] ExportPkcs7()
|
||||
{
|
||||
IntPtr[] certHandles;
|
||||
|
||||
if (_singleCertPal != null)
|
||||
{
|
||||
certHandles = new[] { ((AppleCertificatePal)_singleCertPal).CertificateHandle.DangerousGetHandle() };
|
||||
}
|
||||
else
|
||||
{
|
||||
certHandles = new IntPtr[_certs.Count];
|
||||
|
||||
for (int i = 0; i < _certs.Count; i++)
|
||||
{
|
||||
AppleCertificatePal pal = (AppleCertificatePal)_certs[i].Pal;
|
||||
certHandles[i] = pal.CertificateHandle.DangerousGetHandle();
|
||||
}
|
||||
}
|
||||
|
||||
return Interop.AppleCrypto.X509ExportPkcs7(certHandles);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.Apple;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using Microsoft.Win32.SafeHandles;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal sealed partial class StorePal
|
||||
{
|
||||
private sealed class AppleCertLoader : ILoaderPal
|
||||
{
|
||||
private readonly SafeCFArrayHandle _collectionHandle;
|
||||
private readonly SafeTemporaryKeychainHandle _tmpKeychain;
|
||||
|
||||
public AppleCertLoader(SafeCFArrayHandle collectionHandle, SafeTemporaryKeychainHandle tmpKeychain)
|
||||
{
|
||||
_collectionHandle = collectionHandle;
|
||||
_tmpKeychain = tmpKeychain;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
_collectionHandle.Dispose();
|
||||
_tmpKeychain?.Dispose();
|
||||
}
|
||||
|
||||
public void MoveTo(X509Certificate2Collection collection)
|
||||
{
|
||||
long longCount = Interop.CoreFoundation.CFArrayGetCount(_collectionHandle);
|
||||
|
||||
if (longCount > int.MaxValue)
|
||||
throw new CryptographicException();
|
||||
|
||||
int count = (int)longCount;
|
||||
|
||||
// Apple returns things in the opposite order from Windows, so read backwards.
|
||||
for (int i = count - 1; i >= 0; i--)
|
||||
{
|
||||
IntPtr handle = Interop.CoreFoundation.CFArrayGetValueAtIndex(_collectionHandle, i);
|
||||
|
||||
if (handle != IntPtr.Zero)
|
||||
{
|
||||
ICertificatePal certPal = CertificatePal.FromHandle(handle, throwOnFail: false);
|
||||
|
||||
if (certPal != null)
|
||||
{
|
||||
X509Certificate2 cert = new X509Certificate2(certPal);
|
||||
collection.Add(cert);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,172 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.Apple;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
using Microsoft.Win32.SafeHandles;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal sealed partial class StorePal
|
||||
{
|
||||
public static IStorePal FromHandle(IntPtr storeHandle)
|
||||
{
|
||||
if (storeHandle == IntPtr.Zero)
|
||||
throw new ArgumentNullException(nameof(storeHandle));
|
||||
|
||||
var keychainHandle = new SafeKeychainHandle(storeHandle);
|
||||
Interop.CoreFoundation.CFRetain(storeHandle);
|
||||
|
||||
return new AppleKeychainStore(keychainHandle, OpenFlags.MaxAllowed);
|
||||
}
|
||||
|
||||
public static ILoaderPal FromBlob(byte[] rawData, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags)
|
||||
{
|
||||
Debug.Assert(password != null);
|
||||
|
||||
X509ContentType contentType = X509Certificate2.GetCertContentType(rawData);
|
||||
|
||||
SafeKeychainHandle keychain;
|
||||
bool exportable = true;
|
||||
|
||||
if (contentType == X509ContentType.Pkcs12)
|
||||
{
|
||||
if ((keyStorageFlags & X509KeyStorageFlags.EphemeralKeySet) == X509KeyStorageFlags.EphemeralKeySet)
|
||||
{
|
||||
throw new PlatformNotSupportedException(SR.Cryptography_X509_NoEphemeralPfx);
|
||||
}
|
||||
|
||||
exportable = (keyStorageFlags & X509KeyStorageFlags.Exportable) == X509KeyStorageFlags.Exportable;
|
||||
|
||||
bool persist =
|
||||
(keyStorageFlags & X509KeyStorageFlags.PersistKeySet) == X509KeyStorageFlags.PersistKeySet;
|
||||
|
||||
keychain = persist
|
||||
? Interop.AppleCrypto.SecKeychainCopyDefault()
|
||||
: Interop.AppleCrypto.CreateTemporaryKeychain();
|
||||
}
|
||||
else
|
||||
{
|
||||
keychain = SafeTemporaryKeychainHandle.InvalidHandle;
|
||||
password = SafePasswordHandle.InvalidHandle;
|
||||
}
|
||||
|
||||
// Only dispose tmpKeychain on the exception path, otherwise it's managed by AppleCertLoader.
|
||||
try
|
||||
{
|
||||
SafeCFArrayHandle certs = Interop.AppleCrypto.X509ImportCollection(
|
||||
rawData,
|
||||
contentType,
|
||||
password,
|
||||
keychain,
|
||||
exportable);
|
||||
|
||||
// If the default keychain was used, null will be passed to the loader.
|
||||
return new AppleCertLoader(certs, keychain as SafeTemporaryKeychainHandle);
|
||||
}
|
||||
catch
|
||||
{
|
||||
keychain.Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public static ILoaderPal FromFile(string fileName, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags)
|
||||
{
|
||||
Debug.Assert(password != null);
|
||||
|
||||
byte[] fileBytes = File.ReadAllBytes(fileName);
|
||||
return FromBlob(fileBytes, password, keyStorageFlags);
|
||||
}
|
||||
|
||||
public static IExportPal FromCertificate(ICertificatePal cert)
|
||||
{
|
||||
return new AppleCertificateExporter(cert);
|
||||
}
|
||||
|
||||
public static IExportPal LinkFromCertificateCollection(X509Certificate2Collection certificates)
|
||||
{
|
||||
return new AppleCertificateExporter(certificates);
|
||||
}
|
||||
|
||||
public static IStorePal FromSystemStore(string storeName, StoreLocation storeLocation, OpenFlags openFlags)
|
||||
{
|
||||
StringComparer ordinalIgnoreCase = StringComparer.OrdinalIgnoreCase;
|
||||
|
||||
switch (storeLocation)
|
||||
{
|
||||
case StoreLocation.CurrentUser:
|
||||
if (ordinalIgnoreCase.Equals("My", storeName))
|
||||
return AppleKeychainStore.OpenDefaultKeychain(openFlags);
|
||||
if (ordinalIgnoreCase.Equals("Root", storeName))
|
||||
return AppleTrustStore.OpenStore(StoreName.Root, storeLocation, openFlags);
|
||||
if (ordinalIgnoreCase.Equals("Disallowed", storeName))
|
||||
return AppleTrustStore.OpenStore(StoreName.Disallowed, storeLocation, openFlags);
|
||||
|
||||
break;
|
||||
case StoreLocation.LocalMachine:
|
||||
if (ordinalIgnoreCase.Equals("My", storeName))
|
||||
return AppleKeychainStore.OpenSystemSharedKeychain(openFlags);
|
||||
if (ordinalIgnoreCase.Equals("Root", storeName))
|
||||
return AppleTrustStore.OpenStore(StoreName.Root, storeLocation, openFlags);
|
||||
if (ordinalIgnoreCase.Equals("Disallowed", storeName))
|
||||
return AppleTrustStore.OpenStore(StoreName.Disallowed, storeLocation, openFlags);
|
||||
break;
|
||||
}
|
||||
|
||||
if ((openFlags & OpenFlags.OpenExistingOnly) == OpenFlags.OpenExistingOnly)
|
||||
throw new CryptographicException(SR.Cryptography_X509_StoreNotFound);
|
||||
|
||||
throw new PlatformNotSupportedException(
|
||||
SR.Format(
|
||||
SR.Cryptography_X509_StoreCannotCreate,
|
||||
storeName,
|
||||
storeLocation));
|
||||
}
|
||||
|
||||
private static void ReadCollection(SafeCFArrayHandle matches, HashSet<X509Certificate2> collection)
|
||||
{
|
||||
if (matches.IsInvalid)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
long count = Interop.CoreFoundation.CFArrayGetCount(matches);
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
IntPtr handle = Interop.CoreFoundation.CFArrayGetValueAtIndex(matches, i);
|
||||
|
||||
SafeSecCertificateHandle certHandle;
|
||||
SafeSecIdentityHandle identityHandle;
|
||||
|
||||
if (Interop.AppleCrypto.X509DemuxAndRetainHandle(handle, out certHandle, out identityHandle))
|
||||
{
|
||||
X509Certificate2 cert;
|
||||
|
||||
if (certHandle.IsInvalid)
|
||||
{
|
||||
certHandle.Dispose();
|
||||
cert = new X509Certificate2(new AppleCertificatePal(identityHandle));
|
||||
}
|
||||
else
|
||||
{
|
||||
identityHandle.Dispose();
|
||||
cert = new X509Certificate2(new AppleCertificatePal(certHandle));
|
||||
}
|
||||
|
||||
if (!collection.Add(cert))
|
||||
{
|
||||
cert.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.Apple;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal sealed partial class X509Pal
|
||||
{
|
||||
public static IX509Pal Instance = new AppleX509Pal();
|
||||
|
||||
private X509Pal()
|
||||
{
|
||||
}
|
||||
|
||||
private partial class AppleX509Pal : ManagedX509ExtensionProcessor, IX509Pal
|
||||
{
|
||||
public AsymmetricAlgorithm DecodePublicKey(Oid oid, byte[] encodedKeyValue, byte[] encodedParameters,
|
||||
ICertificatePal certificatePal)
|
||||
{
|
||||
AppleCertificatePal applePal = certificatePal as AppleCertificatePal;
|
||||
|
||||
if (applePal != null)
|
||||
{
|
||||
SafeSecKeyRefHandle key = Interop.AppleCrypto.X509GetPublicKey(applePal.CertificateHandle);
|
||||
|
||||
switch (oid.Value)
|
||||
{
|
||||
case Oids.RsaRsa:
|
||||
return new RSAImplementation.RSASecurityTransforms(key);
|
||||
case Oids.DsaDsa:
|
||||
return new DSAImplementation.DSASecurityTransforms(key);
|
||||
case Oids.Ecc:
|
||||
return new ECDsaImplementation.ECDsaSecurityTransforms(key);
|
||||
}
|
||||
|
||||
key.Dispose();
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (oid.Value)
|
||||
{
|
||||
case Oids.RsaRsa:
|
||||
return DecodeRsaPublicKey(encodedKeyValue);
|
||||
case Oids.DsaDsa:
|
||||
return DecodeDsaPublicKey(encodedKeyValue, encodedParameters);
|
||||
}
|
||||
}
|
||||
|
||||
throw new NotSupportedException(SR.NotSupported_KeyAlgorithm);
|
||||
}
|
||||
|
||||
private static AsymmetricAlgorithm DecodeRsaPublicKey(byte[] encodedKeyValue)
|
||||
{
|
||||
DerSequenceReader reader = new DerSequenceReader(encodedKeyValue);
|
||||
RSAParameters rsaParameters = new RSAParameters();
|
||||
reader.ReadPkcs1PublicBlob(ref rsaParameters);
|
||||
|
||||
RSA rsa = RSA.Create();
|
||||
try
|
||||
{
|
||||
rsa.ImportParameters(rsaParameters);
|
||||
return rsa;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
rsa.Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
private static AsymmetricAlgorithm DecodeDsaPublicKey(byte[] encodedKeyValue, byte[] encodedParameters)
|
||||
{
|
||||
DSAParameters dsaParameters = new DSAParameters();
|
||||
DerSequenceReader parameterReader = new DerSequenceReader(encodedParameters);
|
||||
|
||||
parameterReader.ReadSubjectPublicKeyInfo(encodedKeyValue, ref dsaParameters);
|
||||
|
||||
DSA dsa = DSA.Create();
|
||||
try
|
||||
{
|
||||
dsa.ImportParameters(dsaParameters);
|
||||
return dsa;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
dsa.Dispose();
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
public string X500DistinguishedNameDecode(byte[] encodedDistinguishedName, X500DistinguishedNameFlags flag)
|
||||
{
|
||||
return X500NameEncoder.X500DistinguishedNameDecode(encodedDistinguishedName, true, flag);
|
||||
}
|
||||
|
||||
public byte[] X500DistinguishedNameEncode(string distinguishedName, X500DistinguishedNameFlags flag)
|
||||
{
|
||||
return X500NameEncoder.X500DistinguishedNameEncode(distinguishedName, flag);
|
||||
}
|
||||
|
||||
public string X500DistinguishedNameFormat(byte[] encodedDistinguishedName, bool multiLine)
|
||||
{
|
||||
return X500NameEncoder.X500DistinguishedNameDecode(
|
||||
encodedDistinguishedName,
|
||||
true,
|
||||
multiLine ? X500DistinguishedNameFlags.UseNewLines : X500DistinguishedNameFlags.None,
|
||||
multiLine);
|
||||
}
|
||||
|
||||
public X509ContentType GetCertContentType(byte[] rawData)
|
||||
{
|
||||
if (rawData == null || rawData.Length == 0)
|
||||
{
|
||||
return X509ContentType.Unknown;
|
||||
}
|
||||
|
||||
return Interop.AppleCrypto.X509GetContentType(rawData, rawData.Length);
|
||||
}
|
||||
|
||||
public X509ContentType GetCertContentType(string fileName)
|
||||
{
|
||||
return GetCertContentType(System.IO.File.ReadAllBytes(fileName));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
// See the LICENSE file in the project root for more information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Security.Cryptography;
|
||||
using System.Security.Cryptography.X509Certificates;
|
||||
|
||||
namespace Internal.Cryptography.Pal
|
||||
{
|
||||
internal static class ChainVerifier
|
||||
{
|
||||
public static bool Verify(X509ChainElement[] chainElements, X509VerificationFlags flags)
|
||||
{
|
||||
bool isEndEntity = true;
|
||||
|
||||
foreach (X509ChainElement element in chainElements)
|
||||
{
|
||||
if (HasUnsuppressedError(flags, element, isEndEntity))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
isEndEntity = false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
private static bool HasUnsuppressedError(X509VerificationFlags flags, X509ChainElement element, bool isEndEntity)
|
||||
{
|
||||
foreach (X509ChainStatus status in element.ChainElementStatus)
|
||||
{
|
||||
if (status.Status == X509ChainStatusFlags.NoError)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
Debug.Assert(
|
||||
(status.Status & (status.Status - 1)) == 0,
|
||||
$"Only one bit should be set in status.Status ({status})");
|
||||
|
||||
// The Windows certificate store API only checks the time error for a "peer trust" certificate,
|
||||
// but we don't have a concept for that in Unix. If we did, we'd need to do that logic that here.
|
||||
// Note also that that logic is skipped if CERT_CHAIN_POLICY_IGNORE_PEER_TRUST_FLAG is set.
|
||||
|
||||
X509VerificationFlags? suppressionFlag;
|
||||
|
||||
if (status.Status == X509ChainStatusFlags.RevocationStatusUnknown)
|
||||
{
|
||||
if (isEndEntity)
|
||||
{
|
||||
suppressionFlag = X509VerificationFlags.IgnoreEndRevocationUnknown;
|
||||
}
|
||||
else if (IsSelfSigned(element.Certificate))
|
||||
{
|
||||
suppressionFlag = X509VerificationFlags.IgnoreRootRevocationUnknown;
|
||||
}
|
||||
else
|
||||
{
|
||||
suppressionFlag = X509VerificationFlags.IgnoreCertificateAuthorityRevocationUnknown;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
suppressionFlag = GetSuppressionFlag(status.Status);
|
||||
}
|
||||
|
||||
// If an error was found, and we do NOT have the suppression flag for it enabled,
|
||||
// we have an unsuppressed error, so return true. (If there's no suppression for a given code,
|
||||
// we (by definition) don't have that flag set.
|
||||
if (!suppressionFlag.HasValue ||
|
||||
(flags & suppressionFlag) == 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
private static bool IsSelfSigned(X509Certificate2 cert)
|
||||
{
|
||||
return cert.SubjectName.RawData.ContentsEqual(cert.IssuerName.RawData);
|
||||
}
|
||||
|
||||
private static X509VerificationFlags? GetSuppressionFlag(X509ChainStatusFlags status)
|
||||
{
|
||||
switch (status)
|
||||
{
|
||||
case X509ChainStatusFlags.UntrustedRoot:
|
||||
case X509ChainStatusFlags.PartialChain:
|
||||
return X509VerificationFlags.AllowUnknownCertificateAuthority;
|
||||
|
||||
case X509ChainStatusFlags.NotValidForUsage:
|
||||
case X509ChainStatusFlags.CtlNotValidForUsage:
|
||||
return X509VerificationFlags.IgnoreWrongUsage;
|
||||
|
||||
case X509ChainStatusFlags.NotTimeValid:
|
||||
return X509VerificationFlags.IgnoreNotTimeValid;
|
||||
|
||||
case X509ChainStatusFlags.CtlNotTimeValid:
|
||||
return X509VerificationFlags.IgnoreCtlNotTimeValid;
|
||||
|
||||
case X509ChainStatusFlags.InvalidNameConstraints:
|
||||
case X509ChainStatusFlags.HasNotSupportedNameConstraint:
|
||||
case X509ChainStatusFlags.HasNotDefinedNameConstraint:
|
||||
case X509ChainStatusFlags.HasNotPermittedNameConstraint:
|
||||
case X509ChainStatusFlags.HasExcludedNameConstraint:
|
||||
return X509VerificationFlags.IgnoreInvalidName;
|
||||
|
||||
case X509ChainStatusFlags.InvalidPolicyConstraints:
|
||||
case X509ChainStatusFlags.NoIssuanceChainPolicy:
|
||||
return X509VerificationFlags.IgnoreInvalidPolicy;
|
||||
|
||||
case X509ChainStatusFlags.InvalidBasicConstraints:
|
||||
return X509VerificationFlags.IgnoreInvalidBasicConstraints;
|
||||
|
||||
case X509ChainStatusFlags.HasNotSupportedCriticalExtension:
|
||||
// This field would be mapped in by AllFlags, but we don't have a name for it currently.
|
||||
return (X509VerificationFlags)0x00002000;
|
||||
|
||||
case X509ChainStatusFlags.NotTimeNested:
|
||||
return X509VerificationFlags.IgnoreNotTimeNested;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user