swarmkit icon indicating copy to clipboard operation
swarmkit copied to clipboard

Fix cryptographic certificates for post go 1.19

Open dperny opened this issue 2 years ago • 4 comments

- What I did

Go 1.19 changed the way cryptographic certificates were verified, which broke a certain edge case of root CA rotation. This edge case is now disallowed.

- How I did it

As of go 1.19, the logic for certificate trust chain validation changed, and a chain including two certs with the same key will not validate. This case would usually occur when reissuing the same cert with a later expiration date. Because of this validation failure, our root rotation algorithm fails. While it might be possible to adjust the rotation procedure to accommodate such a cert change, it is somewhat of an edge case, and, more importantly, we do not currently possess the cryptographic expertise to safely make such a change. So, as a result, this operation is disallowed. The new root cert must have a new key.

- How to test it

Test changes within.

dperny avatar Jan 16 '24 17:01 dperny

Looks like generated files need an update (also golangci-lint failing; could be out of memory?)

thaJeztah avatar Jan 16 '24 17:01 thaJeztah

Something is broken with the linter. Even on my local machine, running make lint gets to the golang-ci lint stage and very rapidly consumes some 20GB of RAM, then dies to the OOM killer.

dperny avatar Jan 18 '24 18:01 dperny

Wondering if it needs settings tweaked; if it's a case of it running in a container and trying to spawn too many parallel things 🤔

I know I had to tweak GOMAXPROCS and some other things some years back for moby/moby

thaJeztah avatar Jan 18 '24 18:01 thaJeztah

Codecov Report

Merging #3161 (8a140cf) into master (911c976) will increase coverage by 0.07%. The diff coverage is 40.00%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #3161      +/-   ##
==========================================
+ Coverage   57.28%   57.35%   +0.07%     
==========================================
  Files         144      144              
  Lines       30598    30603       +5     
==========================================
+ Hits        17528    17553      +25     
+ Misses      11732    11709      -23     
- Partials     1338     1341       +3     

codecov-commenter avatar Apr 03 '24 17:04 codecov-commenter