98 lines
4.3 KiB
Plaintext
98 lines
4.3 KiB
Plaintext
# coding: utf-8
|
||
|
||
from inspect import getsource
|
||
from datetime import datetime
|
||
|
||
from OpenSSL.crypto import FILETYPE_PEM, TYPE_RSA, X509, PKey, dump_privatekey, dump_certificate
|
||
|
||
key = PKey()
|
||
key.generate_key(TYPE_RSA, 2048)
|
||
|
||
cert = X509()
|
||
issuer = cert.get_issuer()
|
||
subject = cert.get_subject()
|
||
|
||
for dn in [issuer, subject]:
|
||
dn.C = b"TR"
|
||
dn.ST = b"Çorum"
|
||
dn.L = b"Başmakçı"
|
||
dn.CN = b"localhost"
|
||
dn.O = b"Twisted Matrix Labs"
|
||
dn.OU = b"Automated Testing Authority"
|
||
dn.emailAddress = b"security@twistedmatrix.com"
|
||
|
||
cert.set_serial_number(datetime.now().toordinal())
|
||
cert.gmtime_adj_notBefore(0)
|
||
cert.gmtime_adj_notAfter(60 * 60 * 24 * 365 * 100)
|
||
|
||
cert.set_pubkey(key)
|
||
cert.sign(key, b"sha1")
|
||
|
||
import __main__
|
||
source = getsource(__main__)
|
||
source = source.split(b"\n" + b"-" * 5)[0].rsplit(b"\n", 1)[0]
|
||
with open(b"server.pem", "wb") as fObj:
|
||
fObj.write(source)
|
||
fObj.write(b"\n")
|
||
fObj.write(b"'''\n")
|
||
fObj.write(dump_privatekey(FILETYPE_PEM, key))
|
||
fObj.write(dump_certificate(FILETYPE_PEM, cert))
|
||
fObj.write(b"'''\n")
|
||
with open(b"key.pem.no_trailing_newline", "wb") as fObj:
|
||
fObj.write(dump_privatekey(FILETYPE_PEM, key).rstrip('\n'))
|
||
with open(b"cert.pem.no_trailing_newline", "wb") as fObj:
|
||
fObj.write(dump_certificate(FILETYPE_PEM, cert).rstrip('\n'))
|
||
'''
|
||
-----BEGIN PRIVATE KEY-----
|
||
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDwT6kbqtMUI0sM
|
||
kx4hI+L780dA59KfksZCqJGmOsMD6hte9EguasfkZzvCF3dk3NhwCjFSOvKx6rCw
|
||
iteoWtYkVfo+rSuVNmt7bEsOUDtuTcaxTzIFB+yHOYwAaoz3zQkyVW0c4pzioiLC
|
||
GCmfFLdiDBQGGp74tb+7a0V6kC3vMLFoM3L6QWq5uYRB5+xLzlPJ734ltyvfZHL3
|
||
Us6pcUbK+3WTWvb4ER0W2RqArAj6Bc/ERQKIAPFEiZi9bIYTwvBH27OKHRz+KoY/
|
||
G8zY+l+WZoJqDhupRAQAuh7O7V/y6bSP+KNxJRie9QkZvw1PSaGSXtGJI3WWdO12
|
||
/UlgepJpAgMBAAECggEAFq3d7s+DVi4yggBMYqJJZK/D9LssJIUsktPn0wFOsEri
|
||
xGZXfZH0RXj8qcefK/SvtHsxxmnrx6C3hiHEUo4oEYvPrySWrWFSaXaB6trlkPZk
|
||
Hw2zUcg6qVRkAxILNcOy734iawxz8+uLTjgLjYjd+bHcHetbP2ufqadpCjUbMKx/
|
||
7b7Zkqy7W2exiqxVtbEC6sdrIAr1BwtEDP9gdgwg4z4VQP39pxsaDoNIVLEkU+CH
|
||
2GrjW74xGwu9K1aboKrbbKsypCYTACiNSy4LWzM8640VJk31CyzSjEtPWLnH9bmK
|
||
0XSwWXRK5DXBHNvuDey5KNiiCOHC0YX1drVTq+O1JQKBgQD9nlElh/Nv9nifRPUz
|
||
O8+Jz6rd9l485aAhZZ6bLyvwoC4lS9/EnF9gW66gbF8jIGxwr1/4EZbvRuxvSxbh
|
||
JMbyF3qtngh8UDEPXnnIsGRmheAQB/bR9DeI440wvF1c3pZdvfKhzfEkKUivBJyW
|
||
VBGlgumh+8ZHIZ96dJB/jXJkOwKBgQDykVqR7Q5ccEN2gHNj1qO/BI92sU9ekHUX
|
||
5r5dORkNLjJ+IwGQmap8t011UgkO3f4LZGqzL3K0vwm4XVvasDdiajeUFYYyZ+Cn
|
||
G8QO84pBIlKuAsOqLtM1PfZvAJgDblQ6LaQVqiFGBPtPwD20CcweGeWQ1wGOLkWz
|
||
YqqcKWXtqwKBgQDN4z82+6Xph6omieGQpQZ3dwncRUv9neAgHJHkoyfFoRO1HWJc
|
||
ByH6ZJNgEnotVv4RgJ2lEgp41xfLxaaeQa/sCpmB5mA3Ixagxm6ROHlZLWdXPE/n
|
||
451N2ITfQpt8cAqbsT8OkdQoKgeiZVkFRNxKg/tMj8tIJYiE7an8koSBzwKBgQCW
|
||
E+CZkLXl83+J/gdmqhI9yTCKG0IkG/SWiSkWvJEHWqHa8QWy1aBp8W93Ov5nuGnJ
|
||
2qM5og2yTtBQxVJjh8t8lIM2l+qjnSmduswfBAdyLS5Cg2tUDAyZUHD8VL24wbZT
|
||
GJIA5XYYwFRND4AduEIWDae/aYeI1JBDYLR2UhbCaQKBgQCISd/jZ8J4O5IcrU3Y
|
||
87hY41KdS6lUxb6LOCptrt3IqkgrccvY4G1loafXCXRHwKDaAPgJK+YBkXlJlDiu
|
||
gKtiRXHAHMFWKYISymgj6Eh42SmrpZiGwDR6Edpmhk3vz1Z+cVBh8Kb6eWO75xJq
|
||
MaDwrJwYPyU8v28kikx924Ypiw==
|
||
-----END PRIVATE KEY-----
|
||
-----BEGIN CERTIFICATE-----
|
||
MIID6DCCAtACAws9CjANBgkqhkiG9w0BAQUFADCBtzELMAkGA1UEBhMCVFIxDzAN
|
||
BgNVBAgMBsOHb3J1bTEUMBIGA1UEBwwLQmHFn21ha8OnxLExEjAQBgNVBAMMCWxv
|
||
Y2FsaG9zdDEcMBoGA1UECgwTVHdpc3RlZCBNYXRyaXggTGFiczEkMCIGA1UECwwb
|
||
QXV0b21hdGVkIFRlc3RpbmcgQXV0aG9yaXR5MSkwJwYJKoZIhvcNAQkBFhpzZWN1
|
||
cml0eUB0d2lzdGVkbWF0cml4LmNvbTAgFw0xNzA3MTIxNDAxNTNaGA8yMTE3MDYx
|
||
ODE0MDE1M1owgbcxCzAJBgNVBAYTAlRSMQ8wDQYDVQQIDAbDh29ydW0xFDASBgNV
|
||
BAcMC0JhxZ9tYWvDp8SxMRIwEAYDVQQDDAlsb2NhbGhvc3QxHDAaBgNVBAoME1R3
|
||
aXN0ZWQgTWF0cml4IExhYnMxJDAiBgNVBAsMG0F1dG9tYXRlZCBUZXN0aW5nIEF1
|
||
dGhvcml0eTEpMCcGCSqGSIb3DQEJARYac2VjdXJpdHlAdHdpc3RlZG1hdHJpeC5j
|
||
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDwT6kbqtMUI0sMkx4h
|
||
I+L780dA59KfksZCqJGmOsMD6hte9EguasfkZzvCF3dk3NhwCjFSOvKx6rCwiteo
|
||
WtYkVfo+rSuVNmt7bEsOUDtuTcaxTzIFB+yHOYwAaoz3zQkyVW0c4pzioiLCGCmf
|
||
FLdiDBQGGp74tb+7a0V6kC3vMLFoM3L6QWq5uYRB5+xLzlPJ734ltyvfZHL3Us6p
|
||
cUbK+3WTWvb4ER0W2RqArAj6Bc/ERQKIAPFEiZi9bIYTwvBH27OKHRz+KoY/G8zY
|
||
+l+WZoJqDhupRAQAuh7O7V/y6bSP+KNxJRie9QkZvw1PSaGSXtGJI3WWdO12/Ulg
|
||
epJpAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAJXEq5P9xwvP9aDkXIqzcD0L8sf8
|
||
ewlhlxTQdeqt2Nace0Yk18lIo2oj1t86Y8jNbpAnZJeI813Rr5M7FbHCXoRc/SZG
|
||
I8OtG1xGwcok53lyDuuUUDexnK4O5BkjKiVlNPg4HPim5Kuj2hRNFfNt/F2BVIlj
|
||
iZupikC5MT1LQaRwidkSNxCku1TfAyueiBwhLnFwTmIGNnhuDCutEVAD9kFmcJN2
|
||
SznugAcPk4doX2+rL+ila+ThqgPzIkwTUHtnmjI0TI6xsDUlXz5S3UyudrE2Qsfz
|
||
s4niecZKPBizL6aucT59CsunNmmb5Glq8rlAcU+1ZTZZzGYqVYhF6axB9Qg=
|
||
-----END CERTIFICATE-----
|
||
'''
|