CipherPunk 1.1.0-alpha0028
This is a prerelease version of CipherPunk.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package CipherPunk --version 1.1.0-alpha0028
NuGet\Install-Package CipherPunk -Version 1.1.0-alpha0028
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="CipherPunk" Version="1.1.0-alpha0028" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add CipherPunk --version 1.1.0-alpha0028
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: CipherPunk, 1.1.0-alpha0028"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install CipherPunk as a Cake Addin #addin nuget:?package=CipherPunk&version=1.1.0-alpha0028&prerelease // Install CipherPunk as a Cake Tool #tool nuget:?package=CipherPunk&version=1.1.0-alpha0028&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
CipherPunk
Library & UI for Windows Schannel CipherSuite and Elliptic Curve configuration and remote server probing. Inspired by IISCrypto
Features
- Supports SSL2.0, SSL3.0, TLS1.0, TLS1.1, TLS1.2 & TLS1.3
- Remote server probing
- Protocol configuration
- Cipher Suite configuration
- Elliptic Curve configuration
- Schannel configuration
- Windows 7 to 11 & Windows Server 2008 to 2022
- Configuration using local Group Policy (IISCrypto style)
- Configuration using Schannel API
Available as a standalone Windows application (UI) and as a NuGet package (API).
Note: not all applications use Schannel, most browsers for example require separate configuration.
CipherPunk.UI
A Windows .NET WPF application for x86, x64 and ARM64.
CipherPunk
A NuGet package to manage Windows Schannel.
https://www.nuget.org/packages/CipherPunk
Services
- ICipherSuiteService
- GetLocalCngConfigurationContextIdentifiers
- GetOperatingSystemDocumentationDefaultCipherSuiteList
- GetOperatingSystemConfiguredCipherSuiteList
- GetOperatingSystemActiveCipherSuiteList
- GetOperatingSystemDefaultCipherSuiteList
- ResetCipherSuiteListToOperatingSystemDefault
- RemoveCipherSuite
- AddCipherSuite
- UpdateCipherSuiteOrder
- IEllipticCurveIdentifierService
- GetEllipticCurveIdentifiers
- GetIdentifier
- IEllipticCurveService
- GetOperatingSystemDefaultEllipticCurveList
- GetOperatingSystemAvailableEllipticCurveList
- GetOperatingSystemActiveEllipticCurveList
- GetOperatingSystemConfiguredEllipticCurveList
- ResetEllipticCurveListToOperatingSystemDefault
- UpdateEllipticCurveOrder
- IGroupPolicyService
- GetSslCipherSuiteOrderPolicyWindowsDefaultsAsync
- GetSslCurveOrderPolicyWindowsDefaultsAsync
- UpdateSslCipherSuiteOrderPolicy
- UpdateEccCurveOrderPolicy
- GetSslCipherSuiteOrderPolicy
- GetEccCurveOrderPolicy
- ISchannelLogService
- GetSchannelLogs
- ISchannelService
- GetProtocolSettings
- UpdateProtocolSettings
- ResetProtocolSettings
- GetKeyExchangeAlgorithmSettings
- UpdateKeyExchangeAlgorithmSettings
- ResetKeyExchangeAlgorithmSettings
- GetSchannelHashSettings
- UpdateSchannelHashSettings
- ResetSchannelHashSettings
- GetSchannelCipherSettings
- UpdateSchannelCipherSettings
- ResetSchannelCipherSettings
- GetSchannelSettings
- UpdateSchannelSettings
- ResetSchannelSettings
- ITlsService
- GetRemoteServerCipherSuitesAsync
- IWindowsDocumentationService
- GetProtocolConfigurations
- GetCipherSuiteConfigurations
- GetEllipticCurveConfigurations
- IWindowsVersionService
- WindowsVersion
Usage Examples
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using CipherPunk;
// Register the CipherPunk services in the dependency container using AddCipherPunk()
using IHost host = Host.CreateDefaultBuilder(args)
.ConfigureServices((_, services) => services.AddCipherPunk())
.Build();
using IServiceScope serviceScope = host.Services.CreateScope();
ICipherSuiteService cipherSuiteService = serviceScope.ServiceProvider.GetRequiredService<ICipherSuiteService>();
IEllipticCurveService ellipticCurveService = serviceScope.ServiceProvider.GetRequiredService<IEllipticCurveService>();
// Retrieve the currently active cipher suites ordered by priority
var cipherSuites = cipherSuiteService.GetOperatingSystemActiveCipherSuiteList();
cipherSuites.ToList().ForEach(q => Console.WriteLine(q.CipherSuiteName));
// Retrieve the currently active elliptic curves ordered by priority
var ellipticCurves = ellipticCurveService.GetOperatingSystemActiveEllipticCurveList();
ellipticCurves.ToList().ForEach(q => Console.WriteLine(q.pwszName));
// Retrieve the default cipher suites ordered by priority for the current OS
var defaultCipherSuites = cipherSuiteService.GetOperatingSystemDocumentationDefaultCipherSuiteList();
defaultCipherSuites.ToList().ForEach(q => Console.WriteLine(q.CipherSuite));
// Retrieve the default elliptic curves ordered by priority for the current OS
var defaultEllipticCurves = ellipticCurveService.GetOperatingSystemDefaultEllipticCurveList();
defaultEllipticCurves.ToList().ForEach(q => Console.WriteLine(q.Name));
// Add a cipher suite
cipherSuiteService.AddCipherSuite("TLS_AES_256_GCM_SHA384");
await host.RunAsync();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.1)
- Microsoft.Extensions.Http (>= 8.0.0)
- System.Diagnostics.EventLog (>= 8.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.0 | 94 | 11/13/2024 |
1.1.0-alpha0055 | 75 | 11/13/2024 |
1.1.0-alpha0028 | 118 | 3/22/2024 |
1.1.0-alpha0021 | 108 | 2/25/2024 |
1.1.0-alpha0015 | 125 | 2/8/2024 |
1.1.0-alpha0010 | 96 | 2/3/2024 |
1.1.0-alpha0006 | 103 | 1/27/2024 |
1.1.0-alpha0003 | 102 | 1/21/2024 |
1.1.0-alpha0001 | 100 | 1/21/2024 |
1.0.0 | 230 | 1/5/2024 |
0.2.0-alpha0810 | 113 | 1/3/2024 |
0.2.0-alpha0760 | 99 | 1/1/2024 |
0.2.0-alpha0711 | 91 | 1/1/2024 |
0.2.0-alpha0663 | 125 | 1/1/2024 |
0.2.0-alpha0616 | 108 | 1/1/2024 |
0.2.0-alpha0570 | 134 | 12/31/2023 |
0.2.0-alpha0525 | 140 | 12/30/2023 |
0.2.0-alpha0481 | 123 | 12/29/2023 |
0.2.0-alpha0438 | 120 | 12/26/2023 |
0.2.0-alpha0396 | 176 | 11/5/2023 |
0.2.0-alpha0355 | 94 | 11/3/2023 |
0.2.0-alpha0315 | 110 | 11/3/2023 |
0.2.0-alpha0276 | 139 | 8/14/2023 |
0.2.0-alpha0238 | 145 | 6/23/2023 |
0.2.0-alpha0201 | 127 | 5/29/2023 |
0.2.0-alpha0165 | 127 | 5/25/2023 |
0.2.0-alpha0130 | 125 | 5/1/2023 |
0.2.0-alpha0096 | 153 | 4/22/2023 |
0.2.0-alpha0063 | 140 | 4/15/2023 |
0.2.0-alpha0031 | 158 | 1/24/2023 |
0.1.0 | 341 | 11/18/2022 |
0.1.0-alpha0235 | 153 | 11/18/2022 |
0.1.0-alpha0176 | 122 | 10/29/2022 |
0.1.0-alpha0148 | 109 | 10/29/2022 |
0.1.0-alpha0121 | 103 | 10/29/2022 |
0.1.0-alpha0095 | 113 | 10/28/2022 |
0.1.0-alpha0070 | 105 | 10/28/2022 |
0.1.0-alpha0046 | 95 | 10/28/2022 |
0.1.0-alpha0030 | 142 | 11/18/2022 |
0.1.0-alpha0023 | 101 | 10/28/2022 |