File: generate-cert.py

package info (click to toggle)
python-trio-websocket 0.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 432 kB
  • sloc: python: 2,900; makefile: 41; sh: 17
file content (24 lines) | stat: -rw-r--r-- 765 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import pathlib
import sys

import trustme

def main() -> None:
    here = pathlib.Path(__file__).parent
    ca_path = here / 'fake.ca.pem'
    server_path = here / 'fake.server.pem'
    if ca_path.exists() and server_path.exists():
        print('The CA ceritificate and server certificate already exist.')
        sys.exit(1)
    print('Creating self-signed certificate for localhost/127.0.0.1:')
    ca_cert = trustme.CA()
    ca_cert.cert_pem.write_to_path(ca_path)
    print(f' * CA certificate: {ca_path}')
    server_cert = ca_cert.issue_server_cert('localhost', '127.0.0.1')
    server_cert.private_key_and_cert_chain_pem.write_to_path(server_path)
    print(f' * Server certificate: {server_path}')
    print('Done')


if __name__ == '__main__':
    main()