Commit Graph

1595 Commits

Author SHA1 Message Date
5ed109e998 Max end date as per start date + default validity 3 years 2020-08-27 14:15:14 -07:00
7011a4df8b max date on UI as per max validity configs 2020-08-27 14:15:14 -07:00
4d7c6844e5 Make Organizational Unit optional 2020-08-27 14:15:14 -07:00
2645c4a82d mention 397 for digicert plugin 2020-08-27 14:15:14 -07:00
3cb386cc0f maximum 1 year validity for digicert 2020-08-27 14:15:14 -07:00
e06dea106f Modify unit test test_determine_end_date to match new config 2020-08-27 14:15:14 -07:00
d7d483fa9b Renaming PUBLIC_CA to PUBLIC_CA_AUTHORITY_NAMES 2020-08-27 14:15:14 -07:00
25125f3257 Cert validity should not exceed 397 days for publicly trusted issuers 2020-08-27 14:15:14 -07:00
404d213e8f Modified cert description to have cert id being cloned 2020-08-27 14:15:14 -07:00
e75e472a1a Do not inherit replacement info during cert clone 2020-08-27 14:15:14 -07:00
69b64c63ea Honor selected algorithm during certificate cloning 2020-08-27 14:15:14 -07:00
f4bcd1cf30 lack of an empty config file was resulting into this error
```
Traceback (most recent call last):
  File "/home/travis/build/Netflix/lemur/lemur/plugins/lemur_acme/tests/test_acme.py", line 159, in test_request_certificate
    self.acme.request_certificate(mock_acme, [], mock_order)
  File "/home/travis/build/Netflix/lemur/lemur/plugins/lemur_acme/plugin.py", line 211, in request_certificate
    current_app.config.get("IDENTRUST_CROSS_SIGNED_LE_ICA_EXPIRATION_DATE", "17/03/21"), '%d/%m/%y'):
TypeError: strptime() argument 1 must be str, not MagicMock
```
2020-08-27 14:15:14 -07:00
5a6e4e5b43 Let's Encrypt has been using a cross-signed intermediate CA by DST Root CA X3, which is included in any older devices' TrustStore.
https://letsencrypt.org/certificates/

Let's Encrypt is transitioning to use the intermediate CA issued by their own root (ISRG X1) starting from September 29th 2020. This is in preparation of concluding the initial bootstrapping of their CA, by having it cross-signed by an older CA.
https://letsencrypt.org/2019/04/15/transitioning-to-isrg-root.html

This PR allows Lemur to pin to the cross-signed ICA (same public/private key pair as the ICA signed by ISRG X1). This will prolong support for incompatible systems.
2020-08-27 14:15:14 -07:00
c169ad291e adding the correct signing algorithm, and a missing key Type 2020-08-27 13:29:56 -07:00
3242fc1e13 Validity with radio buttons 2020-08-26 19:30:12 -07:00
6aedd3b0d8 Datepicker enhancements 2020-08-25 18:40:36 -07:00
3efe14c43f Remove 397 days validation as it causes error in API calls
More to come in future
2020-08-25 16:26:20 -07:00
4f148f3bc3 Merge branch 'master' into master 2020-08-20 11:33:18 +02:00
1b73b1d080 Merge branch 'master' into master 2020-08-19 12:29:02 +02:00
c2116df652 Extended ADCS_TEMPLATE_ Variable
If there is a config variable ADCS_TEMPLATE_<upper(authority.name)> take the value as Cert template else default to ADCS_TEMPLATE to be compatible with former versions
2020-08-19 12:25:52 +02:00
5b96b3a032 Lint error fix 2020-08-18 20:03:15 -07:00
240f0b99c8 Max end date as per start date + default validity 3 years 2020-08-18 19:34:59 -07:00
bc5579e9bf max date on UI as per max validity configs 2020-08-18 14:50:42 -07:00
5b3f40467b Make Organizational Unit optional 2020-08-18 14:50:42 -07:00
6ff8910f87 mention 397 for digicert plugin 2020-08-11 18:53:19 -07:00
d7ca1570be maximum 1 year validity for digicert 2020-08-11 18:02:42 -07:00
bde2829e72 Modify unit test test_determine_end_date to match new config 2020-08-11 17:10:29 -07:00
18a3514974 Renaming PUBLIC_CA to PUBLIC_CA_AUTHORITY_NAMES 2020-08-10 18:06:45 -07:00
7a83799bcd Cert validity should not exceed 397 days for publicly trusted issuers 2020-08-10 17:30:34 -07:00
9bcfcebb3a Merge branch 'master' into bootswatch-fix 2020-08-04 14:09:33 -07:00
817a4c3d90 Modified cert description to have cert id being cloned 2020-08-03 19:24:06 -07:00
c3d8501401 Do not inherit replacement info during cert clone 2020-08-03 19:23:24 -07:00
c15a2c62d1 Honor selected algorithm during certificate cloning 2020-08-03 19:22:13 -07:00
3c1d6998fb Merge branch 'master' into pinning-to-cross-signed-LE-ICA 2020-07-24 10:25:11 -07:00
0fd83d13ae Fix intermediate CA creation on cryptography plugin 2020-07-23 13:58:32 -07:00
2317967802 lack of an empty config file was resulting into this error
```
Traceback (most recent call last):
  File "/home/travis/build/Netflix/lemur/lemur/plugins/lemur_acme/tests/test_acme.py", line 159, in test_request_certificate
    self.acme.request_certificate(mock_acme, [], mock_order)
  File "/home/travis/build/Netflix/lemur/lemur/plugins/lemur_acme/plugin.py", line 211, in request_certificate
    current_app.config.get("IDENTRUST_CROSS_SIGNED_LE_ICA_EXPIRATION_DATE", "17/03/21"), '%d/%m/%y'):
TypeError: strptime() argument 1 must be str, not MagicMock
```
2020-07-15 17:04:49 -07:00
d5ae45a0d0 Let's Encrypt has been using a cross-signed intermediate CA by DST Root CA X3, which is included in any older devices' TrustStore.
https://letsencrypt.org/certificates/

Let's Encrypt is transitioning to use the intermediate CA issued by their own root (ISRG X1) starting from September 29th 2020. This is in preparation of concluding the initial bootstrapping of their CA, by having it cross-signed by an older CA.
https://letsencrypt.org/2019/04/15/transitioning-to-isrg-root.html

This PR allows Lemur to pin to the cross-signed ICA (same public/private key pair as the ICA signed by ISRG X1). This will prolong support for incompatible systems.
2020-07-14 17:35:13 -07:00
e0c2f4274e Merge branch 'master' into patch-1 2020-07-02 10:16:02 -07:00
aa11088944 Remove f from non-f string 2020-07-02 16:48:41 +02:00
1f598e3752 Fix unmatched field in Authorization
The field in the formatted string was not matching the args
2020-07-02 16:41:19 +02:00
7a5a5531cc Raise ValidationError if CSR contains invalid CN
If we supply a CSR that contains an empty field in the Subject, Lemur will crash with an error 500 as the ValueError exception is not captured. This change captures the exception and raises a ValidationError which in this case is a 400 sent back to client. Example to reproduce:

    Subject: C=ZZ, ST=Something, L=, O=My_Org, OU=My_Dept, CN=www.booking.com

The empty L= causes a ValueError which needs to be captured.
2020-07-01 15:44:06 +02:00
4985744bd8 fixing UnboundLocalError bug 2020-06-11 16:47:37 -07:00
a7a309136f fixing whitespace and imports 2020-06-11 14:15:40 -07:00
f834d10f9a moving ultradns tests to separate file 2020-06-11 14:04:17 -07:00
c40d297735 Merge branch 'master' into ilabun/optimize-certificates-sql 2020-06-09 14:20:31 -07:00
fd3ea2cf46 Merge branch 'master' into json-logging-rotate 2020-06-09 10:58:53 -07:00
099ebee409 Merge branch 'master' into check-revoke-revised 2020-06-09 10:47:24 -07:00
62469e518f Merge branch 'master' into json-logging-rotate 2020-06-09 10:45:57 -07:00
c3b36d697f clarification 2020-06-08 15:17:45 -07:00
5215a71a6d Merge branch 'master' into check-revoke-revised 2020-06-04 15:51:48 -07:00