ElCamino.SimplePKI 2.0.1

Prefix Reserved
dotnet add package ElCamino.SimplePKI --version 2.0.1                
NuGet\Install-Package ElCamino.SimplePKI -Version 2.0.1                
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="ElCamino.SimplePKI" Version="2.0.1" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add ElCamino.SimplePKI --version 2.0.1                
#r "nuget: ElCamino.SimplePKI, 2.0.1"                
#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 ElCamino.SimplePKI as a Cake Addin
#addin nuget:?package=ElCamino.SimplePKI&version=2.0.1

// Install ElCamino.SimplePKI as a Cake Tool
#tool nuget:?package=ElCamino.SimplePKI&version=2.0.1                

README - PKISharp.SimplePKI <img align="right" width="100" src="https://raw.githubusercontent.com/PKISharp/ACMESharpCore/master/docs/pkisharp-logo-color.png">

The purpose of this support library is to provide a small, targeted API that implements the specific operations that are typically needed on the client side when working with certificates and certificate requests.

NuGet Pre Release

Background

This library originated out of a need to handle various client-side operations in support of the ACMESharp client.

In order to use the ACMESharp library to properly interact with an ACME CA in producing signed certificates it is necessary to perform various PKI certificate management operations on the client side such as selecting and generating key pairs for supported asymmetric encryption algorithms, generating a certificate signing request in a DER encoded format, and exporting a certificate and its private key in a usable archive format.

Eventually, it is hoped that one would be able to do all these operations out of the box with the .NET platform, specifically with .NET Standard, but today there is a limited set of these operations that are possible. Work is already underway to expand this support (such as here, here and here).

In the meantime, support can be found outside of the box with the help of the excellent Bouncy Castle crypto library.

While this library grew out of a need to support the ACME protocol and process, it is independent of the ACMESharp library and stands on its own as a useful tool.

Features

The following primary PKI-supporting entities and operations are supported by SimplePKI:

  • Asymmetric Keys and Key Pairs:
    • Generate RSA and ECDSA key pairs using common key lengths and named curves (EC)
    • Export to DER/PEM formats
  • Certificate Signing Requests:
    • Conforms to PKCS#10 request formats
    • Export to DER/PEM formats
    • Generate Signed certs
    • Generate Self-signed and CA-like certs
    • Support for Subject Alternative Name (SAN) extension
  • Certificates:
    • Export to DER/PEM formats
    • Export to PKCS#12 format archive with optional private key and certificate chain
    • Conversion to standard BCL X509Certificate2

Additionally, all the primary entities listed above support saving to/loading from an opaque persistent format that can be useful when needing to support long-running operations that require durable storage.

Product 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.  net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.0.1 82 11/29/2024
2.0.0 86 11/28/2024
1.0.2 162 3/13/2024
1.0.1 135 3/8/2024

Check https://github.com/dlmelendez/ACMESharpCore/releases for the latest release information.