Skip to content
Snippets Groups Projects
Commit b05aaf89 authored by brian's avatar brian
Browse files

fixed script

parent 0016b2ce
No related branches found
No related tags found
No related merge requests found
# Script usage
```python
python blablae [...]
```
# Usefull commands
```bash
# Check x509 cert
openssl x509 -inform pem -noout -text -in newcompany/certs/out.pem
```
-----BEGIN CERTIFICATE-----
MIIElzCCAn+gAwIBAgIUQyTmBMwNZLDzhYYaTstXHDfF1nIwDQYJKoZIhvcNAQEL
MIIElzCCAn+gAwIBAgIUfyoibwTPz40aYxk3lx1HRXMS37QwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ0gxDTALBgNVBAgMBFZhdWQxGjAYBgNVBAoMEUhvcnNl
IFRpbmRlciBTYXJsMQwwCgYDVQQLDANJU0MxFjAUBgNVBAMMDWFuZHJld3RhdGUu
Y2gwHhcNMjQwNjE4MTYyODAyWhcNMjUwNjE4MTYyODAyWjBbMQswCQYDVQQGEwJD
Y2gwHhcNMjQwNjE4MTY0NzI0WhcNMjUwNjE4MTY0NzI0WjBbMQswCQYDVQQGEwJD
SDEPMA0GA1UECAwGR2VuZXZhMQ8wDQYDVQQHDAZHZW5ldmExEDAOBgNVBAoMB0Nv
bXBhbnkxGDAWBgNVBAMMD2NvbXBhbnkuYmliaS5jaDCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAK+IC/2VqLLJ/PzzWeV2dbsvxUIrg26UJZnxJ5FlK1tg
......@@ -12,18 +12,18 @@ etgMp4zQ4UNDZjECzsQ46Hp3WqpdeAVxFxblfDPlrVBnAdWnlbBdZ3798XHDOvDX
Josmoc8DnWkkiVOmL0KFKw9R7dAhWyTXnVojqotPxGZPbDwwPv0QSaSsolrPQ9x4
BOSf/QgZKQXW0Q35UgDT0bzT+wIyUezu3prJRd/2oIsCAwEAAaNQME4wHQYDVR0O
BBYEFJbDmkp+DYOTwK255fK13gEd1u15MB8GA1UdIwQYMBaAFN6ATyzm7FYoUHlX
5afUB9g9RLGTMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAEYhZk97
GQWYn9tJqdS8yTeza6bia+hbh2oIEUDZRe3AV/DJrqh3GoG8VqjESWWYUF/NESoL
KrEaAl5JQYKCbrcRcqcUNpfEz9CiCDRYomu4MfJSZFuqTTIcUdo7uFg1RxEkjRO9
uudcdghQU1CQ03GdkKVAFtDVRpGvK+Ir85Bd/Wh56ql5QjNbGSGPWAaU9vxVZ5Fk
FT4XtEHpZalO1vuR1VuXu0Go6Looko/+cDb8UlV+Qbxt+WxzErvPgrkt9+UJDs7o
R1v5tIFLE1T3vsfucrlRn4Huj3VFh5LcuWuYtnONJ1hIqrwaJm1leHm7OuJRH/qb
o4b4LIBrqdLetYKvcsE+tIOA/lkkXwlD17+CqW0lJtfLhlhgxkQBV06kMufO4Bf+
BstnY20eqXxAf57L7v/EZvmVpqgkraWdrdNYcE5HfFXmODsvcdo2i49ZZ8Q1jj67
FBiKR4wTE5goARvK/iF4ZHCo4hyOist2eO9R8ZYYkYZiTagkh9DDXodAq6tehAcp
BkBAKDJV5WX84A+2hEqN6cMYYK8Nu5q3mH0WdQUPK4dhxzOHchRPIIL294iIdru6
J8q8hxrw0fgupOGS7Xwc/XBkIMG2xbCYxVxJhjKPYg/RcqQIPmt2LB/t2DdNVErj
MZwEPki6N1FqBKWzsK4tg8IHMAnTeWJVE3eB
5afUB9g9RLGTMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBABrE4lRC
5ib2dY/xG1Cf3EeBQtOlqNIZ4p+ziweBsHCffhJAroTojneuHd8yXjJk1mbVOGqe
o5mVqCu30h33LfqoZQbnHKWAdc3C3oBmWrTp/NpUS9Swz/HHgRu26HnuLBXlG1ZD
fxoBRD1PFxpLyHLxiNEWTofC/jo0UuOEIGsVyMs87WiYchbzwbk3XpF8ItZ1PUjf
GV0j5P5OuIocRFVVfdPLsifKBsyUmZR0dORHif2+9XKbBJPWptF4PgmBqWFCKLev
pMWBNbQCqAjFzZTXw6sOabACAuaspVigqSC7qJ3bOkIUsnh8YzFlyv44YHCYpDxW
vHcnMrDkQ9Hrs3UpIiewyFKyzv4gLpsEm+I1jcxLLUh1lvLH7ZBVQf4U+wjcBLij
CsMmXi83qXsiIuWfTjn3F+UKpmDy3c4C/Vst4shdu3F7xOxljU3p5RzEi3qQPYMc
UrAHnnwoaaRAz3k7zl9p6u0RbIZavYkZAyoMGne1ynaphIb2AJFHBUsldRAUGR26
2IKDLfeoQPOERmifKAJ2QSHgLribQKWDH4wL6fwCKJNFnedpSeh35I79NyE+icMh
8NvB/H52KLkc0P+J8lBPIJ3fJVuSlgeVqa8EgZg/Kucf0WH3YdBaJ+USaiYkWiJh
o93HAye1hrAzzTR+9qghzOPrSHMUwJXY7af7
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFsDCCA5igAwIBAgICEAEwDQYJKoZIhvcNAQELBQAwcDEXMBUGA1UEAwwOaG9y
......
import os
import datetime
import argparse
from cryptography import x509
......@@ -35,9 +35,9 @@ def create_certificate(csr, issuer_cert, issuer_key, is_intermediate=False):
).serial_number(
x509.random_serial_number()
).not_valid_before(
datetime.datetime.utcnow()
datetime.datetime.now(datetime.UTC)
).not_valid_after(
datetime.datetime.utcnow() + datetime.timedelta(days=365)
datetime.datetime.now(datetime.UTC) + datetime.timedelta(days=365)
).add_extension(
x509.SubjectKeyIdentifier.from_public_key(csr.public_key()),
critical=False
......@@ -46,6 +46,7 @@ def create_certificate(csr, issuer_cert, issuer_key, is_intermediate=False):
issuer_cert.public_key()),
critical=False
).add_extension(
# is_intermediate: True => new cert can sign certificates
x509.BasicConstraints(ca=is_intermediate, path_length=None),
critical=True
)
......@@ -74,7 +75,16 @@ def main():
csr_path = args.csr_path
output_cert_path = args.output_cert_path
ca_cert, ca_key = load_ca(ca_cert_path, ca_key_path, ca_key_password=b"admin1234")
os.system("stty -echo")
ca_pass = input("Enter private key password: ")
os.system("stty echo")
print("\n")
try:
ca_cert, ca_key = load_ca(ca_cert_path, ca_key_path, ca_key_password=ca_pass.encode())
except:
print("Bad password")
exit(1)
csr = load_csr(csr_path)
......@@ -86,6 +96,8 @@ def main():
f.write(signed_cert.public_bytes(serialization.Encoding.PEM))
f.write(ca_cert.public_bytes(serialization.Encoding.PEM))
print(f"Certificate {csr_path} saved at {output_cert_path}. Signed by {ca_cert_path}")
if __name__ == "__main__":
main()
-----BEGIN CERTIFICATE-----
MIIElzCCAn+gAwIBAgIUQyTmBMwNZLDzhYYaTstXHDfF1nIwDQYJKoZIhvcNAQEL
MIIElzCCAn+gAwIBAgIUfyoibwTPz40aYxk3lx1HRXMS37QwDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ0gxDTALBgNVBAgMBFZhdWQxGjAYBgNVBAoMEUhvcnNl
IFRpbmRlciBTYXJsMQwwCgYDVQQLDANJU0MxFjAUBgNVBAMMDWFuZHJld3RhdGUu
Y2gwHhcNMjQwNjE4MTYyODAyWhcNMjUwNjE4MTYyODAyWjBbMQswCQYDVQQGEwJD
Y2gwHhcNMjQwNjE4MTY0NzI0WhcNMjUwNjE4MTY0NzI0WjBbMQswCQYDVQQGEwJD
SDEPMA0GA1UECAwGR2VuZXZhMQ8wDQYDVQQHDAZHZW5ldmExEDAOBgNVBAoMB0Nv
bXBhbnkxGDAWBgNVBAMMD2NvbXBhbnkuYmliaS5jaDCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAK+IC/2VqLLJ/PzzWeV2dbsvxUIrg26UJZnxJ5FlK1tg
......@@ -12,16 +12,16 @@ etgMp4zQ4UNDZjECzsQ46Hp3WqpdeAVxFxblfDPlrVBnAdWnlbBdZ3798XHDOvDX
Josmoc8DnWkkiVOmL0KFKw9R7dAhWyTXnVojqotPxGZPbDwwPv0QSaSsolrPQ9x4
BOSf/QgZKQXW0Q35UgDT0bzT+wIyUezu3prJRd/2oIsCAwEAAaNQME4wHQYDVR0O
BBYEFJbDmkp+DYOTwK255fK13gEd1u15MB8GA1UdIwQYMBaAFN6ATyzm7FYoUHlX
5afUB9g9RLGTMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBAEYhZk97
GQWYn9tJqdS8yTeza6bia+hbh2oIEUDZRe3AV/DJrqh3GoG8VqjESWWYUF/NESoL
KrEaAl5JQYKCbrcRcqcUNpfEz9CiCDRYomu4MfJSZFuqTTIcUdo7uFg1RxEkjRO9
uudcdghQU1CQ03GdkKVAFtDVRpGvK+Ir85Bd/Wh56ql5QjNbGSGPWAaU9vxVZ5Fk
FT4XtEHpZalO1vuR1VuXu0Go6Looko/+cDb8UlV+Qbxt+WxzErvPgrkt9+UJDs7o
R1v5tIFLE1T3vsfucrlRn4Huj3VFh5LcuWuYtnONJ1hIqrwaJm1leHm7OuJRH/qb
o4b4LIBrqdLetYKvcsE+tIOA/lkkXwlD17+CqW0lJtfLhlhgxkQBV06kMufO4Bf+
BstnY20eqXxAf57L7v/EZvmVpqgkraWdrdNYcE5HfFXmODsvcdo2i49ZZ8Q1jj67
FBiKR4wTE5goARvK/iF4ZHCo4hyOist2eO9R8ZYYkYZiTagkh9DDXodAq6tehAcp
BkBAKDJV5WX84A+2hEqN6cMYYK8Nu5q3mH0WdQUPK4dhxzOHchRPIIL294iIdru6
J8q8hxrw0fgupOGS7Xwc/XBkIMG2xbCYxVxJhjKPYg/RcqQIPmt2LB/t2DdNVErj
MZwEPki6N1FqBKWzsK4tg8IHMAnTeWJVE3eB
5afUB9g9RLGTMAwGA1UdEwEB/wQCMAAwDQYJKoZIhvcNAQELBQADggIBABrE4lRC
5ib2dY/xG1Cf3EeBQtOlqNIZ4p+ziweBsHCffhJAroTojneuHd8yXjJk1mbVOGqe
o5mVqCu30h33LfqoZQbnHKWAdc3C3oBmWrTp/NpUS9Swz/HHgRu26HnuLBXlG1ZD
fxoBRD1PFxpLyHLxiNEWTofC/jo0UuOEIGsVyMs87WiYchbzwbk3XpF8ItZ1PUjf
GV0j5P5OuIocRFVVfdPLsifKBsyUmZR0dORHif2+9XKbBJPWptF4PgmBqWFCKLev
pMWBNbQCqAjFzZTXw6sOabACAuaspVigqSC7qJ3bOkIUsnh8YzFlyv44YHCYpDxW
vHcnMrDkQ9Hrs3UpIiewyFKyzv4gLpsEm+I1jcxLLUh1lvLH7ZBVQf4U+wjcBLij
CsMmXi83qXsiIuWfTjn3F+UKpmDy3c4C/Vst4shdu3F7xOxljU3p5RzEi3qQPYMc
UrAHnnwoaaRAz3k7zl9p6u0RbIZavYkZAyoMGne1ynaphIb2AJFHBUsldRAUGR26
2IKDLfeoQPOERmifKAJ2QSHgLribQKWDH4wL6fwCKJNFnedpSeh35I79NyE+icMh
8NvB/H52KLkc0P+J8lBPIJ3fJVuSlgeVqa8EgZg/Kucf0WH3YdBaJ+USaiYkWiJh
o93HAye1hrAzzTR+9qghzOPrSHMUwJXY7af7
-----END CERTIFICATE-----
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment