For excessively paranoid client authentication.
Organization & Common Name: Some human identifier for this server CA.
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt
| #!/usr/bin/env python3 | |
| # vim: autoindent tabstop=4 shiftwidth=4 expandtab softtabstop=4 filetype=python | |
| # Proof-of-Concept for https://stackoverflow.com/q/64017656/1548275 | |
| # Do Python asyncio Streams maintain order over multiple writers and readers? | |
| import sys | |
| import argparse |
| #!/usr/bin/python | |
| import hashlib | |
| import os | |
| import sys | |
| if len(sys.argv) < 2: | |
| sys.exit('Usage: %s filename' % sys.argv[0]) | |
| if not os.path.exists(sys.argv[1]): |
| import yaml | |
| import os.path | |
| class LoaderMeta(type): | |
| def __new__(metacls, __name__, __bases__, __dict__): | |
| """Add include constructer to class.""" | |
| # register the include constructor on the class | |
| cls = super().__new__(metacls, __name__, __bases__, __dict__) |
| # Create the Root CA private key | |
| ## ref> https://www.openssl.org/docs/manmaster/apps/genrsa.html | |
| openssl genrsa -out myRootCA.key 4096 | |
| # Generate the Root CA certificate signed with the private key | |
| ## ref> https://www.openssl.org/docs/manmaster/apps/req.html | |
| openssl req -x509 -new -nodes -key myRootCA.key -days 3650 -out myRootCA.pem | |
| # Country Name (2 letter code) [AU]:AU | |
| # State or Province Name (full name) [Some-State]:NSW |
For excessively paranoid client authentication.
Organization & Common Name: Some human identifier for this server CA.
openssl genrsa -des3 -out ca.key 4096
openssl req -new -x509 -days 365 -key ca.key -out ca.crt