|  |  | @ -136,61 +136,59 @@ def sign(request): | 
			
		
	
		
		
			
				
					
					|  |  |  |         import time |  |  |  |         import time | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         ca_cert_file = """-----BEGIN CERTIFICATE----- |  |  |  |         ca_cert_file = """-----BEGIN CERTIFICATE----- | 
			
		
	
		
		
			
				
					
					|  |  |  | MIIFDDCCA/SgAwIBAgIJANgaua7fGCcBMA0GCSqGSIb3DQEBBQUAMIG0MQswCQYD |  |  |  | MIIEjzCCA3egAwIBAgIJAIyZIB4fbN2mMA0GCSqGSIb3DQEBCwUAMIGLMQswCQYD | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | VQQGEwJVUzEWMBQGA1UECBMNV2FzaGluZ3RvbiBEQzETMBEGA1UEBxMKV2FzaGlu |  |  |  | VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLTG9zIEFuZ2Vs | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | Z3RvbjEhMB8GA1UEChMYVW5pdGVkIFN0YXRlcyBHb3Zlcm5tZW50MRgwFgYDVQQL |  |  |  | ZXMxDzANBgNVBAoTBlNwYWNlWDEMMAoGA1UECxMDQ0VPMRIwEAYDVQQDEwlFbG9u | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | Ew9UaGUgV2hpdGUgSG91c2UxFTATBgNVBAMTDEJhcmFjayBPYmFtYTEkMCIGCSqG |  |  |  | IE11c2sxHjAcBgkqhkiG9w0BCQEWD2Vsb25Ac3BhY2V4LmNvbTAeFw0xNTA1Mjgx | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | SIb3DQEJARYVYmFyYWNrQHdoaXRlaG91c2UuZ292MB4XDTE0MDUyMTA3MjkxM1oX |  |  |  | NjEyMjFaFw0yNTA1MjUxNjEyMjFaMIGLMQswCQYDVQQGEwJVUzETMBEGA1UECBMK | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | DTE0MDYyMDA3MjkxM1owgbQxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1XYXNoaW5n |  |  |  | Q2FsaWZvcm5pYTEUMBIGA1UEBxMLTG9zIEFuZ2VsZXMxDzANBgNVBAoTBlNwYWNl | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | dG9uIERDMRMwEQYDVQQHEwpXYXNoaW5ndG9uMSEwHwYDVQQKExhVbml0ZWQgU3Rh |  |  |  | WDEMMAoGA1UECxMDQ0VPMRIwEAYDVQQDEwlFbG9uIE11c2sxHjAcBgkqhkiG9w0B | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | dGVzIEdvdmVybm1lbnQxGDAWBgNVBAsTD1RoZSBXaGl0ZSBIb3VzZTEVMBMGA1UE |  |  |  | CQEWD2Vsb25Ac3BhY2V4LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | AxMMQmFyYWNrIE9iYW1hMSQwIgYJKoZIhvcNAQkBFhViYXJhY2tAd2hpdGVob3Vz |  |  |  | ggEBAMWr64mMZDfWUuYmROz+FszmwjGZvFz0CGxiExHEAFfzZfF60Rts2Qm+o7cc | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | ZS5nb3YwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6Lqnt0bLHvJAb |  |  |  | bZ/UtAaIgIve5WiWhQ5mqDoyECfuVOTcddWCrskLgLafoP6nPVdTDIXsPtsjtRuV | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | LOVR4FEhLgAf4jT/MiJ/Oe8Hbo5Z1LaA/6bcAm8UDYdzlg+NcWyuZv1Pwm5BWSpK |  |  |  | D1ptsduDVCeQkcKFUcfLd6QXJaOAYU20gb7FJ8KFUmJXn4HXg6BsZvu8grJgh51O | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | T6z394a4kYUSs/Kwq+HAY8SPt1AZUx4cD0p4D8PAYKDLYAv1PwvMIOnpIscSIrhO |  |  |  | 29JRw83I0FxzBZw4JSvETW968NexO+aliR/inK4GQQqk4joxuT6MSVsd+17ss6wn | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | Znug5RGC5B+1flarKBedcCQ744Xrt2FJN4zwUJXSPg1BUHs36Q6tfZyjH2rai8xY |  |  |  | WO1nUNxhSW3MQePrfphkQbNZn/l1T1MfN6XAs4P9boqgENHZ2WskGIeZ5g1I4MVE | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | q/kmkFwxj/Hsax7nCS8VALOBB2drySTMQMpLDt3t604xIKvO4oLOPo/KkxxiHgNm |  |  |  | WPFTZ8HwprCvybM8mneqVp/P+FcCAwEAAaOB8zCB8DAdBgNVHQ4EFgQUHvGJ8tZM | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | FM0V4aSY1URKBT/4a98YU4rbYe9HsicN2b23VdDOJNpR3xoBnqcDeUmeOyr+u9yC |  |  |  | owfGFNeyuhsYq8JN/o8wgcAGA1UdIwSBuDCBtYAUHvGJ8tZMowfGFNeyuhsYq8JN | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | xMfmWAO9AgMBAAGjggEdMIIBGTAdBgNVHQ4EFgQUHQ/Wns26nFHViXFiQPoJdHAh |  |  |  | /o+hgZGkgY4wgYsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRQw | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | /YYwgekGA1UdIwSB4TCB3oAUHQ/Wns26nFHViXFiQPoJdHAh/YahgbqkgbcwgbQx |  |  |  | EgYDVQQHEwtMb3MgQW5nZWxlczEPMA0GA1UEChMGU3BhY2VYMQwwCgYDVQQLEwND | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | CzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1XYXNoaW5ndG9uIERDMRMwEQYDVQQHEwpX |  |  |  | RU8xEjAQBgNVBAMTCUVsb24gTXVzazEeMBwGCSqGSIb3DQEJARYPZWxvbkBzcGFj | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | YXNoaW5ndG9uMSEwHwYDVQQKExhVbml0ZWQgU3RhdGVzIEdvdmVybm1lbnQxGDAW |  |  |  | ZXguY29tggkAjJkgHh9s3aYwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | BgNVBAsTD1RoZSBXaGl0ZSBIb3VzZTEVMBMGA1UEAxMMQmFyYWNrIE9iYW1hMSQw |  |  |  | AQEAfe9TXLrrwA/3xf85HB+i7CxaFNTmWZvsN2Ico9Ks1/Dt7eAB61ghHFIxCqHz | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | IgYJKoZIhvcNAQkBFhViYXJhY2tAd2hpdGVob3VzZS5nb3aCCQDYGrmu3xgnATAM |  |  |  | LQGa77wFAI5kgzv3TembXV1kHz4pGigPC6EkNEh0Kc2O3fwz6CryK7/OrjkElKEn | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | BgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQAsPNGb/voHkeLEb4xjVw0d |  |  |  | ti/9loLr8+rhQKF0c2NS3qiAoYsR/kkdBZ+niT+yXCIekpQNybfDT8WqDm4Rv2s+ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | ezdajGxxhf+b3fRZecDuyoNS/cKwpfOtoEPo9PmnCYOLqZiFVkH2zgfAjVRZXWQw |  |  |  | u/6pZa7zZLLlORpxnuFfjjo+n/06b4+xHn+xvyGWijMcOqZdyhU0UjZ7OAW/ZEQp | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | /v3T8JtidGZzRXCmElZO8NEzflfhVa8qc/CRpmQ1SQhLjcTU8XJD02uMf7LS3pzj |  |  |  | 3uvp8fso+Esov+Abl0Lxtr/Gk7utH/h0AD6vWJJwDlS65uqKBeuIOUoCAHy3oPH5 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | CqHy+aX3fHbotHlqB1nkFZwoiAdTX5z7e4znsV9iElHEXjVtGVpbQRxe45IN2yhC |  |  |  | p+BxtuhS2Lv5g2jHRgIxVt22rg== | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | w2m6uzir1Ozsm6cpsxxygziZluz8t7QDyyfi8GkDtdk4joLKsAeawwxjm4JlDi96 |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  | jluZ6JUN8TeifPsCWsee5U3XtykclfVDw7DyfgEq9xGFBFoI1wuUfUxmoszGgTvc |  |  |  |  | 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | -----END CERTIFICATE----- |  |  |  | -----END CERTIFICATE----- | 
			
		
	
		
		
			
				
					
					|  |  |  | """ |  |  |  | """ | 
			
		
	
		
		
			
				
					
					|  |  |  |         ca_key_file = """-----BEGIN RSA PRIVATE KEY----- |  |  |  |         ca_key_file = """-----BEGIN RSA PRIVATE KEY----- | 
			
		
	
		
		
			
				
					
					|  |  |  | MIIEpAIBAAKCAQEAui6p7dGyx7yQGyzlUeBRIS4AH+I0/zIifznvB26OWdS2gP+m |  |  |  | MIIEogIBAAKCAQEAxavriYxkN9ZS5iZE7P4WzObCMZm8XPQIbGITEcQAV/Nl8XrR | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 3AJvFA2Hc5YPjXFsrmb9T8JuQVkqSk+s9/eGuJGFErPysKvhwGPEj7dQGVMeHA9K |  |  |  | G2zZCb6jtxxtn9S0BoiAi97laJaFDmaoOjIQJ+5U5Nx11YKuyQuAtp+g/qc9V1MM | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | eA/DwGCgy2AL9T8LzCDp6SLHEiK4TmZ7oOURguQftX5WqygXnXAkO+OF67dhSTeM |  |  |  | hew+2yO1G5UPWm2x24NUJ5CRwoVRx8t3pBclo4BhTbSBvsUnwoVSYlefgdeDoGxm | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 8FCV0j4NQVB7N+kOrX2cox9q2ovMWKv5JpBcMY/x7Gse5wkvFQCzgQdna8kkzEDK |  |  |  | +7yCsmCHnU7b0lHDzcjQXHMFnDglK8RNb3rw17E75qWJH+KcrgZBCqTiOjG5PoxJ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | Sw7d7etOMSCrzuKCzj6PypMcYh4DZhTNFeGkmNVESgU/+GvfGFOK22HvR7InDdm9 |  |  |  | Wx37XuyzrCdY7WdQ3GFJbcxB4+t+mGRBs1mf+XVPUx83pcCzg/1uiqAQ0dnZayQY | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | t1XQziTaUd8aAZ6nA3lJnjsq/rvcgsTH5lgDvQIDAQABAoIBAFgRKqAryP1h3Gh+ |  |  |  | h5nmDUjgxURY8VNnwfCmsK/Jszyad6pWn8/4VwIDAQABAoIBAHkzyOA17N0v1PS5 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | XBrWmImxUK3EOn1cIaU8qixBx2QGki2CwFLhc9lwbNnn6YNmW5pDbR8FQVH382Ej |  |  |  | UlneEizg8QFouk5kcyXBnN+vxmYnH8LJA55FR27qLYgBLlZqHVhEKk2ZBiDy6fLC | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | PxYsJ7W2X9Pw+qNHKonup1OzylewUVXEhd0018tv6Z9J114ybEoqZ3q30KJrefLb |  |  |  | jzPfrnhNclBBvR6FWpZ7LxjLF/QMp1f73BnhmUjUxB99bkSMLhnilJ8NzdHv3Q0c | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 1y7MK/RWJAmdsTFUzZbTLNCHVxmf3gL05K/H0USY19+sO2GkhHIU9dYrafywAlPh |  |  |  | fOdoKfPuq7rxivxl9tMW3ETgZTU+0dSeJH8ZkkcQblckNpqP//oWFpXYrgftgyR3 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | iFuZAvcVIUDhKsowslBYD3+R5yamN6bvWy8E1IbOBM76nMQKcJlpQv7T+mCJUWhW |  |  |  | kM+uZya2kwaZ15XC2O1IXbvFVjppw4z/z8KMBc6azGrSFJ6xGkve+1KKBuVQ1Vpg | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 71niSoXS8AoxEgbJftZtfqo5Cp5ZenAMUaje4QqjLcqvda41baU3uAIAdadgt/oq |  |  |  | sFXBaKHoVG5NpGiwiBkbERkn1Jp+lgJkstDyzGtIVmhzT7g5+YIvXE5uWU/NVRDp | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | lVl+EaECgYEA2qWLoBYH87xd0MMeYPznDH3Na041c4DNmA5ZT2aaDn88+to9dyrR |  |  |  | 0n8n6UECgYEA/hgkUfJ/uVlORhkIyW+thG9VPO1k35BdOjw5f7xDN6DSyYNSRubi | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | Ur052VOz6zMnHd4MWlUvaTpEjUKsxENLwajI8PtQVlB1Kio8Mn5rMdW/A1NUDeDm |  |  |  | q6F3KWW807fEubGYzXaTh5QCB9z+gUuVAtjo9Mb0RPBEyWwXFi0ynxLzNQxA692U | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | db8OTLYxGWw3ug/m6/p7xTepHvJHWAJh4I9iNA+jYZkc3ppWDEbOJfMCgYEA2f1M |  |  |  | Id67JHVPK4gsgP7jZi8+pAbN3xSfRG1BXdsp+RUJdWNiaLeWOsHI+bMCgYEAxydy | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | EYvDCsLhpx3n4wSjOMRjS1XUGPn/v5aYdVF9rnr2E1zxgZaZRMhD2P2umUj4+2SI |  |  |  | enmg+dzz8qz6my9G9uH0dqoG8BHlwPp7h/vmSbhWAD4+BIGCHbGt2zk/Zh7w6PsQ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 2a1Ve99uXuqgM+1OC5G5TNKje3HikqnGTnqDS2L76WLDuZdkmNmIMKuibSZteHl/ |  |  |  | 9nMrWSwAkStdpW0WLz/oNIijVN8dInlFnB3qq6o1t0Jrz2K4ngUN1PAA19Ft1s+r | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | 2llrkdGCmV4pfjvszilCxph/rQ5+0uBJFIMrK48CgYEAztD+ZJvSQ8vulbSqvKUc |  |  |  | VZpSM+uKViKKuthORNeVM0D3D3gfrisdAZAV7M0CgYBguef5mgqtECYP4S/LHsw7 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | S+WHdDPTPYEdd/JCqmdr28ChRss+jsUSoQfae2bAbf7Bxm+uEZg4M3npNBFYaIEb |  |  |  | Afa8vtILmPUkWhC5Y31jC8GyHF+Rxgq7szeddrEvF2G4HrdAX8dBcUJko+fuaEtN | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | XICyKbgegrayTQMMU9revJHpj1S30jTk6YWiGg/QG7MQd0/pZ1dU0fTXZS1ZLLd8 |  |  |  | Ti1AIQyTwbMtygvv0TzX+WrD4upD35GoYxVyh4Wf2LK4WE9QcuOxpTVxmnQWpFCh | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | K7SU+Je+PGhfNXSZZh1ni98CgYArbiS2pjLAtR0CD5pAh48BY1cpDjuIkl5azGUp |  |  |  | 3fBYdX2oRjEME/cIXwSWqQKBgEpc0WMn/VKvDSvlKSI+8fmHf3e7nyGPHUIEhZHO | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | kofIuGTIbM8M83Ur1/50f+5GSdyZMWl2fOs4F8bEkFhEoDXZZjoVzS2XDZSHhd2l |  |  |  | HjwSp5Ipq5CVJxedW7SK2MBx9zSXYssTT/FY+9E45xu48tqruzG6f3pWYROZQsO7 | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | ixEXduwbjnrSQhBfx48zqy5cMrjCtOo9FW2yCpzLc5Auvz+pv1y3dnCRiP7Jgrfs |  |  |  | a/+za6FFHOpwC019x59mCnqLib73BhvNproaTipBdZm04OzVrrFXpajSCspG8Oq/ | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | p0l1jwKBgQCYUOEr7FlXMas0KVXzvR4bg1c6pEuORhkdP3w/IO+88RflPe/or1c6 |  |  |  | eWBVAoGACI+4ROdYWCprQRgH2Qr5nKnRkN1mZzBl4hgodSGCZa3TWnBVHtXacluF | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | M15u8GjRELX7QyUx5x3fPnYDVPJ97FDqjhHcSiq8Tu8bvFsoBxyZu1EfbMY+ndB7 |  |  |  | KJ8dp3ZgjiQ9aQujFD5oPnmSJ8wvJijF8ngEFw60+axRrWnUmejWkrexA1Hlv0Er | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | ojEMEyKAGuYrWFU0GvmNGYeIOdl7Xc7hYgU5m9VzovCV7rs3CIy3xQ== |  |  |  | tq9DcELddZK2gJXaXpL1wOL+Ex5RzzRmjqKmmkkn1//ikn+nrZU= | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  | -----END RSA PRIVATE KEY----- |  |  |  | -----END RSA PRIVATE KEY----- | 
			
		
	
		
		
			
				
					
					|  |  |  | """ |  |  |  | """ | 
			
		
	
		
		
			
				
					
					|  |  |  |         csr = crypto.load_certificate_request(crypto.FILETYPE_PEM, request.FILES['csr'].read()) |  |  |  |         csr = crypto.load_certificate_request(crypto.FILETYPE_PEM, request.FILES['csr'].read()) | 
			
		
	
	
		
		
			
				
					|  |  | @ -204,10 +202,10 @@ ojEMEyKAGuYrWFU0GvmNGYeIOdl7Xc7hYgU5m9VzovCV7rs3CIy3xQ== | 
			
		
	
		
		
			
				
					
					|  |  |  |         signed_cert.set_issuer(ca_cert.get_subject()) |  |  |  |         signed_cert.set_issuer(ca_cert.get_subject()) | 
			
		
	
		
		
			
				
					
					|  |  |  |         signed_cert.set_subject(csr.get_subject()) |  |  |  |         signed_cert.set_subject(csr.get_subject()) | 
			
		
	
		
		
			
				
					
					|  |  |  |         signed_cert.set_pubkey(csr.get_pubkey()) |  |  |  |         signed_cert.set_pubkey(csr.get_pubkey()) | 
			
		
	
		
		
			
				
					
					|  |  |  |         signed_cert.sign(ca_key, 'sha1') |  |  |  |         signed_cert.sign(ca_key, 'sha256') | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |         response = HttpResponse(crypto.dump_certificate(crypto.FILETYPE_PEM, signed_cert), content_type='application/zip') |  |  |  |         response = HttpResponse(crypto.dump_certificate(crypto.FILETYPE_PEM, signed_cert), content_type='application/zip') | 
			
		
	
		
		
			
				
					
					|  |  |  |         response['Content-Disposition'] = 'attachment; filename=signed-certificaat.pem' |  |  |  |         response['Content-Disposition'] = 'attachment; filename=signed-certificaat.crt' | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |         return response |  |  |  |         return response | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |     return render(request, 'sign.html') |  |  |  |     return render(request, 'sign.html') |