All Projects → lowleveldesign → concerto

lowleveldesign / concerto

Licence: MIT License
A command line tool and a library to generate TLS certificates for development purposes.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to concerto

Certigo
A utility to examine and validate certificates in a variety of formats
Stars: ✭ 662 (+1847.06%)
Mutual labels:  tls, certificate, x509
sslcontext-kickstart
🔐 A lightweight high level library for configuring a http client or server based on SSLContext or other properties such as TrustManager, KeyManager or Trusted Certificates to communicate over SSL TLS for one way authentication or two way authentication provided by the SSLFactory. Support for Java, Scala and Kotlin based clients with examples. Av…
Stars: ✭ 295 (+767.65%)
Mutual labels:  tls, certificate, https
Forge
A native implementation of TLS in Javascript and tools to write crypto-based and network-heavy webapps
Stars: ✭ 4,204 (+12264.71%)
Mutual labels:  tls, certificate, x509
letsencrypt-www
Probably the easiest way to create | renew | deploy certificate
Stars: ✭ 27 (-20.59%)
Mutual labels:  tls, certificate, https
Aspnetcorecertificates
Certificate Manager in .NET Core for creating and using X509 certificates
Stars: ✭ 135 (+297.06%)
Mutual labels:  tls, certificate, x509
Icingaweb2 Module X509
Keeps track of certificates as they are deployed in a network environment.
Stars: ✭ 78 (+129.41%)
Mutual labels:  tls, certificate, x509
Acme client
Java ACME Client application
Stars: ✭ 77 (+126.47%)
Mutual labels:  tls, certificate, https
Acmetool
🔒 acmetool, an automatic certificate acquisition tool for ACME (Let's Encrypt)
Stars: ✭ 1,882 (+5435.29%)
Mutual labels:  tls, certificate, x509
Ssl Checker
Python script that collects SSL/TLS information from hosts
Stars: ✭ 94 (+176.47%)
Mutual labels:  tls, certificate, x509
Tls Inspector
Easily view and inspect X.509 certificates on your iOS device.
Stars: ✭ 92 (+170.59%)
Mutual labels:  tls, https, x509
Cli
🧰 A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc.
Stars: ✭ 2,151 (+6226.47%)
Mutual labels:  tls, certificate, x509
Mutual Tls Ssl
🔐 Tutorial of setting up Security for your API with one way authentication with TLS/SSL and mutual mutual authentication for a java based web server and a client with both Spring Boot. Different clients are provided such as Apache HttpClient, OkHttp, Spring RestTemplate, Spring WebFlux WebClient Jetty and Netty, the old and the new JDK HttpClient, the old and the new Jersey Client, Google HttpClient, Unirest, Retrofit, Feign, Methanol, vertx, Scala client Finagle, Featherbed, Dispatch Reboot, AsyncHttpClient, Sttp, Akka, Requests Scala, Http4s Blaze, Kotlin client Fuel, http4k, Kohttp and ktor. Also other server examples are available such as jersey with grizzly. Also gRPC examples are included
Stars: ✭ 163 (+379.41%)
Mutual labels:  tls, certificate, https
cryptonice
CryptoNice is both a command line tool and library which provides the ability to scan and report on the configuration of SSL/TLS for your internet or internal facing web services. Built using the sslyze API and ssl, http-client and dns libraries, cryptonice collects data on a given domain and performs a series of tests to check TLS configuration…
Stars: ✭ 91 (+167.65%)
Mutual labels:  tls, https
tlsassistant
Fully-featured tool that combines state-of-the-art TLS analyzers with a report system that suggests appropriate mitigations and shows the full set of viable attacks.
Stars: ✭ 24 (-29.41%)
Mutual labels:  tls, https
pki-manager
IT Freelancers : Manage small PKI for multiple projects (or clients) with 2 bash scripts
Stars: ✭ 36 (+5.88%)
Mutual labels:  certificate, x509
ssl-handshake
A command-line tool for testing SSL/TLS handshake latency, written in Go.
Stars: ✭ 41 (+20.59%)
Mutual labels:  tls, https
tipi
Tipi - the All-in-one Web Server for Ruby Apps
Stars: ✭ 214 (+529.41%)
Mutual labels:  tls, https
httpsbook
《深入浅出HTTPS:从原理到实战》代码示例、勘误、反馈、讨论
Stars: ✭ 77 (+126.47%)
Mutual labels:  tls, https
3dub
www dev server with livereload, file watching, http2, https, self signed cert generation
Stars: ✭ 28 (-17.65%)
Mutual labels:  certificate, https
win-ca
Get Windows System Root certificates
Stars: ✭ 78 (+129.41%)
Mutual labels:  tls, x509

concerto

A command line tool and a library to generate TLS certificates for development purposes.

Inspired by mkcert by Filippo Valsorda, but written in C# using the Bouncy Castle library.

Command Line Tool

Create a site certificate

$ concerto www.test.com

This will create a concertoCA.pem root certificate and a www.test.com.pem certificate for your domain. You may add multiple domains, if needed. IPs and URIs are accepted too.

Some more examples:

$ concerto localhost 127.0.0.1
$ concerto '*.example.com' 192.168.0.12
$ concerto https://www.example.com 192.168.0.12

Create a site certificate with an intermediate CA

$ concerto -int myIntCA
$ concerto -chain -ca myIntCA.pem www.test.com

This will create a concertoCA.pem root certificate, an intermediate CA certificate (myIntCA.pem), a site certificate with a certificate trust chain (www.test.com.pem).

Available options

-ca <path-to-cert>     Specifies which CA certificate to use.
-client                Allow a client to authenticate using the certificate.
-chain                 Add the certificate chain to the certificate file.
-ecdsa                 Use Elliptic Curve key instead of RSA.
-pfx                   Save the certificate and the key in a .pfx file.
-help                  Shows the help screen.

NuGet package (Concerto)

The NuGet package contains two classes: CertificateCreator and CertificateFileStore. They provide a straightforward API to create TLS certificates and save them to and read them from a file system.

Example usage:

var workingDir = @"C:\temp";

CertificateChainWithPrivateKey rootCA;
if (File.Exists($@"{workingDir}\myCA.pem") && File.Exists($@"{workingDir}\myCA.key")) {
    rootCA = CertificateFileStore.LoadCertificate($@"{workingDir}\myCA.pem");
} else {
    rootCA = CertificateCreator.CreateCACertificate("MyCA");
    CertificateFileStore.SaveCertificate(rootCA, $@"{workingDir}\myCA.pem");
}

var cert = CertificateCreator.CreateCertificate(new [] { "www.test.com", "localhost" }, rootCA);
CertificateFileStore.SaveCertificate(cert, $@"{workingDir}\www.test.com.pem");
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].