OSSL_STORE-winstore.pod 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. =pod
  2. =head1 NAME
  3. OSSL_STORE-winstore - OpenSSL built in OSSL_STORE for Windows
  4. =head1 DESCRIPTION
  5. The OSSL_STORE implementation for Windows provides access to Windows' system
  6. C<ROOT> certificate store through URIs, using the URI scheme
  7. C<org.openssl.winstore>.
  8. =head2 Supported URIs
  9. There is only one supported URI:
  10. org.openssl.winstore:
  11. No authority (host, etc), no path, no query, no fragment.
  12. =head2 Supported OSSL_STORE_SEARCH operations
  13. =over 4
  14. =item L<OSSL_STORE_SEARCH_by_name(3)>
  15. As a matter of fact, this must be used. It is not possible to enumerate all
  16. available certificates in the store.
  17. =back
  18. =head2 Windows certificate store features
  19. Apart from diverse constraints present in the certificates themselves, the
  20. Windows certificate store also has the ability to associate additional
  21. constraining properties alongside a certificate in the store. This includes
  22. both documented and undocumented capabilities:
  23. =over 4
  24. =item *
  25. The documented capability to override EKU
  26. =item *
  27. The undocumented capability to add name constraints
  28. =item *
  29. The undocumented capability to override the certificate expiry date
  30. =back
  31. I<Such constraints are not checked by this OSSL_STORE implementation, and
  32. thereby not honoured>.
  33. However, once extracted with L<OSSL_STORE_load(3)>, certificates that have
  34. constraints in their X.509 extensions will go through the usual constraint
  35. checks when used by OpenSSL, and are thereby honoured.
  36. =head1 SEE ALSO
  37. L<ossl_store(7)>, L<OSSL_STORE_open_ex(3)>, L<OSSL_STORE_SEARCH(3)>
  38. =head1 HISTORY
  39. The winstore (C<org.openssl.winstore>) implementation was added in OpenSSL
  40. 3.2.0.
  41. =head1 NOTES
  42. OpenSSL uses L<OSSL_DECODER(3)> implementations under the hood.
  43. To influence what L<OSSL_DECODER(3)> implementations are used, it's advisable
  44. to use L<OSSL_STORE_open_ex(3)> and set the I<propq> argument.
  45. =head1 COPYRIGHT
  46. Copyright 2024 The OpenSSL Project Authors. All Rights Reserved.
  47. Licensed under the Apache License 2.0 (the "License"). You may not use
  48. this file except in compliance with the License. You can obtain a copy
  49. in the file LICENSE in the source distribution or at
  50. L<https://www.openssl.org/source/license.html>.
  51. =cut