Add support for Windows CA certificate store#18070
Add support for Windows CA certificate store#18070hlandau wants to merge 8 commits intoopenssl:masterfrom
Conversation
|
Manpage. |
|
I'm not convinced that proposed solution should change existing methods. |
|
About implementation - it is good to see a provider based sample. I have a number of engine based implementation including own by_store x509 lookup for openssl before 3. |
|
P.S.I think that store name could be extracted from URI. |
|
Please register any new URI schemes with IANA: https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml -- provisional registrations are given on a "first come first served" policy. |
|
This PR is in a state where it requires action by @openssl/otc but the last update was 30 days ago |
|
I strongly support this idea. If I remember correctly, windows has more than one storage (at least, system and user's). Will this code work with it? |
|
@beldmit It uses the system root CA store by default. Since this code uses an URI to specify the Windows store there is the possibility we could allow other stores to be specified. |
|
How do we override this default URI in run-time? |
|
The same way the URI is currently specified, e.g. via an environment variable, see this PR. I could add support for specifying different stores. |
|
It looks better to me if it is overrideable via API. |
|
That is also feasible. |
|
As mentioned here, |
Suggestion regarding the name: |
Fair warning: I'm going to be quite insistent on this |
|
Rebased. Updated to implement option C. URI scheme renamed to |
|
This pull request is ready to merge |
|
Merged to master. |
Fixes openssl#18068. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from openssl#18070)
Fixes openssl#18020. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from openssl#18070)
Fixes openssl#18068. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from openssl#18070)
Fixes openssl#18020. Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from openssl#18070)
…tificate store)
Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Matt Caswell <matt@openssl.org> Reviewed-by: Paul Dale <pauli@openssl.org> (Merged from #21190)
Complements: dfdbc11 "Partially revert openssl#18070 (Add support for Windows CA certificate store)" Signed-off-by: Norbert Pocs <norbertp@openssl.org>
Complements: dfdbc11 "Partially revert #18070 (Add support for Windows CA certificate store)" Signed-off-by: Norbert Pocs <norbertp@openssl.org> Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> MergeDate: Mon Mar 16 11:24:06 2026 (Merged from #30390) (cherry picked from commit 00dcd45)
Complements: dfdbc11 "Partially revert #18070 (Add support for Windows CA certificate store)" Signed-off-by: Norbert Pocs <norbertp@openssl.org> Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> MergeDate: Mon Mar 16 11:24:06 2026 (Merged from #30390) (cherry picked from commit 00dcd45)
Complements: dfdbc11 "Partially revert #18070 (Add support for Windows CA certificate store)" Signed-off-by: Norbert Pocs <norbertp@openssl.org> Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> MergeDate: Mon Mar 16 11:24:06 2026 (Merged from #30390) (cherry picked from commit 00dcd45)
Complements: dfdbc11 "Partially revert #18070 (Add support for Windows CA certificate store)" Signed-off-by: Norbert Pocs <norbertp@openssl.org> Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> MergeDate: Mon Mar 16 11:24:06 2026 (Merged from #30390)
Complements: dfdbc11 "Partially revert #18070 (Add support for Windows CA certificate store)" Signed-off-by: Norbert Pocs <norbertp@openssl.org> Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> MergeDate: Mon Mar 16 11:24:06 2026 (Merged from #30390) (cherry picked from commit 00dcd45)
Complements: dfdbc11 "Partially revert #18070 (Add support for Windows CA certificate store)" Signed-off-by: Norbert Pocs <norbertp@openssl.org> Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org> Reviewed-by: Saša Nedvědický <sashan@openssl.org> MergeDate: Mon Mar 16 11:24:06 2026 (Merged from #30390) (cherry picked from commit 00dcd45)
This PR adds support for the Windows CA certificate store. It does this by introducing a new store in the default provider which recognises the
capi://URI scheme. The URI used is justcapi://, there are no arguments. This new store also becomes the default store whencapistoreis enabled at compile time (i.e., on Windows).A build option is added (
capistore) which can be disabled if this functionality is not desired.This fixes #18020 but also implements my proposal in #18068 and is built on top of that fix. I can split these out into separate PRs if desired, but the former would preferably be merged before the latter.