GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||||||||||
GeezerVison is showing github.com — Add additional extensions to generated ssl certs by jnoordsij · Pull Request #536 · docker-library/docker Conversation
|
| -subj '/CN=docker:dind CA' \ | ||
| -x509 \ | ||
| -days "$certValidDays" \ | ||
| -addext keyUsage=critical,digitalSignature,keyCertSign |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
All the OpenSSL docs say about critical here is this:
If critical is present then the extension will be marked as critical.
Do you have a reference for why this is necessary? 🤔
The docs also suggest this can be more whitespace-y, so if we need to touch this again I think I might try something like this:
| -addext keyUsage=critical,digitalSignature,keyCertSign | |
| -addext 'keyUsage = critical, digitalSignature, keyCertSign' |
But we should probably add a new test or update our existing test to make sure this stays working before we touch it again (since you've done good validation on this change as-is). ❤️
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
From the RFC section 4.2.1.3 Key Usage:
This extension MUST appear in certificates that contain public keys
that are used to validate digital signatures on other public key
certificates or CRLs. When this extension appears, it SHOULD be
marked critical.
Edit: also definitely not an expert on this in any way, mostly looked for fixes I found elsewhere with people encountering the same type of issue when using Python 3.13 combined with some server application employing self-signed certificates.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Changes: - docker-library/docker@861512c: Update 28-rc - docker-library/docker@8979f92: Merge pull request docker-library/docker#536 from jnoordsij/add-ssl-ext - docker-library/docker@8daf440: Update 28-rc to 28.2.0-rc.1, buildx 0.23.0, compose 2.36.1 - docker-library/docker@d370b5c: Update 28 to compose 2.36.1 - docker-library/docker@52c8bfa: Add keyUsage extension to dind generated CA cert - docker-library/docker@b5332f2: Add extendedKeyUsage = serverAuth to dind generated server cert
Yeah I understand your feelings on this, it feels a bit too over-complicated to have this here. Deprecating it will probably be quite a hard thing to achieve. However, at least it does what it have to do right now pretty good, and I think generally it should be more or less a stable approach apart from cases like this enforcing a bit more strictness. For changing towards sockets, just looking at GitLab for example, they do list using a socket as an option in their docs, but not as the preferred one (section starts with "You should use Docker-in-Docker with TLS enabled, which is supported by GitLab.com instance runners.") and moreover one that thus does not seem to be supported by their shared instance runners. Although I could not find current shared runner configuration in their current docs, an older version only had a mount bind configured for the TLS based setup. So before any of this could happen that would probably require quite a bit of effort in getting them to migrate, and then there's probably still lots of other usecases for the TLS approach out there 😓 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Changes: - docker-library/docker@861512c: Update 28-rc - docker-library/docker@8979f92: Merge pull request docker-library/docker#536 from jnoordsij/add-ssl-ext - docker-library/docker@8daf440: Update 28-rc to 28.2.0-rc.1, buildx 0.23.0, compose 2.36.1 - docker-library/docker@d370b5c: Update 28 to compose 2.36.1 - docker-library/docker@52c8bfa: Add keyUsage extension to dind generated CA cert - docker-library/docker@b5332f2: Add extendedKeyUsage = serverAuth to dind generated server cert
Changes: - docker-library/docker@861512c: Update 28-rc - docker-library/docker@8979f92: Merge pull request docker-library/docker#536 from jnoordsij/add-ssl-ext - docker-library/docker@8daf440: Update 28-rc to 28.2.0-rc.1, buildx 0.23.0, compose 2.36.1 - docker-library/docker@d370b5c: Update 28 to compose 2.36.1 - docker-library/docker@52c8bfa: Add keyUsage extension to dind generated CA cert - docker-library/docker@b5332f2: Add extendedKeyUsage = serverAuth to dind generated server cert
Changes: - docker-library/docker@861512c: Update 28-rc - docker-library/docker@8979f92: Merge pull request docker-library/docker#536 from jnoordsij/add-ssl-ext - docker-library/docker@8daf440: Update 28-rc to 28.2.0-rc.1, buildx 0.23.0, compose 2.36.1 - docker-library/docker@d370b5c: Update 28 to compose 2.36.1 - docker-library/docker@52c8bfa: Add keyUsage extension to dind generated CA cert - docker-library/docker@b5332f2: Add extendedKeyUsage = serverAuth to dind generated server cert
Changes: - docker-library/docker@861512c: Update 28-rc - docker-library/docker@8979f92: Merge pull request docker-library/docker#536 from jnoordsij/add-ssl-ext - docker-library/docker@8daf440: Update 28-rc to 28.2.0-rc.1, buildx 0.23.0, compose 2.36.1 - docker-library/docker@d370b5c: Update 28 to compose 2.36.1 - docker-library/docker@52c8bfa: Add keyUsage extension to dind generated CA cert - docker-library/docker@b5332f2: Add extendedKeyUsage = serverAuth to dind generated server cert
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.