aboutsummaryrefslogtreecommitdiffstats
path: root/doc
Commit message (Collapse)AuthorAgeFilesLines
* DOCS: Fix KEM init function documentationolszomal2026-07-271-7/+10
| | | | | | | | | | | | | Document the missing params argument for OSSL_FUNC_kem_decapsulate_init(), remove stale name references, and fix the malformed provider-keymgmt(7) link. Complements: 78c44b05945b Add HPKE DHKEM provider support for EC, X25519 and X448. Signed-off-by: olszomal <[email protected]> Reviewed-by: Jakub Zelenka <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Mon Jul 27 07:57:01 2026 (Merged from https://github.com/openssl/openssl/pull/32045)
* doc: clarify raw RSA migrationMounir IDRASSI2026-07-271-2/+5
| | | | | | | | | | | | | | | | RSA_private_encrypt() and RSA_public_decrypt() support both PKCS#1 v1.5 and no padding, but the migration guide currently describes their EVP replacements as using no padding only. Document direct mappings to EVP_PKEY_sign() and EVP_PKEY_verify_recover(), and explain that compatibility requires no signature digest and the same legacy padding mode, RSA_PKCS1_PADDING or RSA_NO_PADDING. Reviewed-by: Jakub Zelenka <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Mon Jul 27 07:54:00 2026 (Merged from https://github.com/openssl/openssl/pull/31996)
* Update SSL_CTX_set1_curves.pod for OpenSSL 3.5 additionsBrady Foster2026-07-241-0/+4
| | | | | | | | | | | | Added documentation of the addition of group tuples in openSSL 3.5 in HISTORY section of SSL_CTX_set1_curves.pod. CLA: trivial Reviewed-by: Viktor Dukhovni <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> MergeDate: Fri Jul 24 13:13:26 2026 (Merged from https://github.com/openssl/openssl/pull/32007)
* doc: document that `HMAC_Update` cannot be called after `HMAC_Final`Nicky Mouha2026-07-231-0/+3
| | | | | | | Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Frederik Wedel-Heinen <[email protected]> MergeDate: Thu Jul 23 08:33:21 2026 (Merged from https://github.com/openssl/openssl/pull/31570)
* docs: clarify EVP_PKEY context workflow and operation descriptionsMounir IDRASSI2026-07-235-25/+44
| | | | | | | | | | | | | | | | | | | | Document that a generated key is returned separately from its generation context and that a new key-bound context is needed for subsequent operations. Correct the encrypt and decrypt initialization descriptions and examples accordingly. Correct two copy-and-paste errors in the verify-recover documentation: describe its initializer as starting a verify-recover operation and refer to EVP_PKEY_verify_recover() when discussing its input. Fixes #31989 Assisted-by: Grok:Grok-4.5 Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> MergeDate: Thu Jul 23 08:29:24 2026 (Merged from https://github.com/openssl/openssl/pull/31995)
* Make sure we always check return of CRYPTO_UP_REF which can fail.Frederik Wedel-Heinen2026-07-201-2/+1
| | | | | | | Reviewed-by: Kurt Roeckx <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Mon Jul 20 11:13:58 2026 (Merged from https://github.com/openssl/openssl/pull/31753)
* doc: clarify pkeyutl -rawin and -digest for no-prehash signaturesolszomal2026-07-201-2/+4
| | | | | | | | | | | Complements: 5421423 "Flexible encoders for ML-DSA" Signed-off-by: olszomal <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Daniel Kubec <[email protected]> MergeDate: Mon Jul 20 09:13:08 2026 (Merged from https://github.com/openssl/openssl/pull/31478)
* [providers/implementations/ciphers] GCM-SIV: reject out-of-order update callsBilly Brumley2026-07-201-3/+4
| | | | | | | | | | | | | | | | | | | | | | | For GCM-SIV: 1. AAD must precede the payload 2. the payload must be single shot (2) was already happening, this change moves from a silent fail to an explicit error message for multiple update calls on the payload. For (1), this change unifies the logic for (2) one level up in the wrapper. So the code previously allowed (1), and now errors out after this change. Follow-up to #31906 Assisted-by: Claude:claude-opus-4-8 Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Daniel Kubec <[email protected]> Reviewed-by: Bob Beck <[email protected]> MergeDate: Mon Jul 20 06:56:04 2026 (Merged from https://github.com/openssl/openssl/pull/31940)
* Prepare a now opaque ASN1_STRING for the size_t rapture.Bob Beck2026-07-181-9/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that ASN1_STRING is opaque, we can finally move away from an int for the length internally. The remaining problematic piece for this is that ASN1_STRING_length() returns an int and is public API. Therefore, we deprecate ASN1_STRING_length() and provide a replacement ASN1_STRING_length_ex() that returns a size_t length. We also provide setting functions that take size_t lengths, they are ASN1_STRING_set_data() which takes a uint8_t data pointer and a size_t length, and ASN1_STRING_set_string() which takes a argument that must be a c string and will use strlen to determine the length. (This replaces th previous arcane behaviour of calling "strlen" on a magical input length value of -1, which leads to bugs.) We then deprecate ASN1_STRING_set(). ASN1_STRING_set_string() requires a valid C string argument that may not be NULL - refer to the documentation. Both new functions do not magically add 0 bytes on the end of values, as ASN1_STRING has already been documented for a long time to not depend on this behaviour. Both new functions do not allow the setting of values on an ASN1_BIT_STRING, as ASN1_BIT_STRING_set1 must be used for that. Note that this does *NOT* yet change ASN1_STRING to use size_t internally, this must wait until the integer-returning ASN1_STRING_length() has been deprecated, and then removed in future major. Once ASN1_STRING_length() has been removed then ASN1_STRING internally can change to using a size_t for the length of the data. (And the setters will no longer return an error if the provided size_t length exceeds INT_MAX) Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> MergeDate: Sat Jul 18 13:01:15 2026 (Merged from https://github.com/openssl/openssl/pull/31194)
* Don't raise NOT_ENOUGH_DATA on a clean EOF at an object boundaryMarc Gutman2026-07-131-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | asn1_d2i_read_bio() reads one ASN.1 object at a time from a BIO. Callers commonly loop, decoding concatenated DER values until the call fails, and rely on a failure with no queued error to recognise a clean end of input. CPython's ssl module does this in _add_ca_certs() when loading the Windows certificate store via SSLContext.load_verify_locations(cadata=...); it re-raises any leftover ASN.1 error other than ASN1_R_HEADER_TOO_LONG as fatal. Commit 9eb6922c59 ("asn1: raise NOT_ENOUGH_DATA on header EOF") changed the BIO_read() check from "i < 0" to "i <= 0", so a clean EOF (BIO_read() returning 0, as an exhausted BIO_new_mem_buf does) on an object boundary now raises ASN1_R_NOT_ENOUGH_DATA instead of failing with an empty error queue. The rewrite in commit 35852da1d9 carried this behaviour forward. As a result Python 3 on Windows fails to initialise an SSLContext with: ssl.SSLError: [ASN1: NOT_ENOUGH_DATA] not enough data Raise ASN1_R_NOT_ENOUGH_DATA only on an actual read error, on an EOF in the middle of an object (some bytes already buffered), or on an EOF while still inside an indefinite-length value awaiting its end-of-contents octets - all of which are genuine truncation. A clean EOF at a top-level object boundary again fails without queuing an error, restoring the long-standing behaviour that looping callers depend on. Add regression tests covering the clean-EOF, truncated, indefinite-length truncation and partial-header cases, and document the read behaviour in ASN1_item_d2i_bio(3). Fixes #31807 Assisted-by: Claude:claude-opus-4-8 Reviewed-by: Dmitry Belyavskiy <[email protected]> Reviewed-by: Igor Ustinov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Mon Jul 13 08:05:03 2026 (Merged from https://github.com/openssl/openssl/pull/31818)
* Document the effect of SSL_VERIFY_FAIL_IF_NO_PEER_CERT on post-handshake authTomas Mraz2026-07-101-1/+3
| | | | | | | Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Paul Dale <[email protected]> MergeDate: Fri Jul 10 15:45:39 2026 (Merged from https://github.com/openssl/openssl/pull/31876)
* Improve TLS handling of EC point formatsViktor Dukhovni2026-07-101-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decouple the ec_point_formats extension from TLS 1.2 X.509 selection and acceptance. Remove tls1_check_pkey_comp() and its callers in tls1_check_cert_param() and tls1_check_chain(): TLS 1.3 disregards the extension already, and we can decode any point form a peer might send, so refusing a compressed peer cert in TLS 1.2 because we didn't advertise compressed buys nothing. The RFC 4492/8422 section 5.1.2 requirement that the peer's list contain "uncompressed" used to be enforced in a final hook on the client side only. Move it to the two points where the negotiated ciphersuite is known: the client's ServerHello parse hook, and the server's ServerHello construct hook. Both sites fire the alert only when an ECC TLS 1.2 ciphersuite has been negotiated, so a missing "uncompressed" is ignored under TLS 1.3 or a non-ECC cipher. The client- and server-side parse hooks now share one function. Drop the always-NULL ext.ecpointformats fields on SSL_CTX and SSL; our own list is built directly inside the constructors. The peer's list continues to be stored verbatim, and is also exposed through the SSL_get0_ec_point_formats() accessor (now documented). New tests verify the four corners (ECC vs non-ECC ciphersuite, TLS 1.2 vs 1.3) plus that a compressed point form EC cert is usable on both sides without any opt-in. Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Matt Caswell <[email protected]> MergeDate: Fri Jul 10 09:21:30 2026 (Merged from https://github.com/openssl/openssl/pull/30940)
* EC: make the group the single source of the point conversion formViktor Dukhovni2026-07-104-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The point conversion form (compressed, uncompressed, or hybrid) was kept both on the key and on the group, and the two could disagree -- a key imported as compressed could re-encode as uncompressed. The group is now the single source of truth: encoding, parameter output, and the legacy lookup all read it from the group, and decoding (PEM, DER, or raw parameters) records it there, so the form round-trips faithfully. Generated keys are always uncompressed; the point-format option at key generation is now a documented no-op (it had had no effect for several releases), and the unused form field on the keygen context is dropped. Imported keys still keep their form, and the deprecated EC_KEY_get_conv_form()/EC_KEY_set_conv_form() still work. EVP_PKEY_fromdata() and openssl pkey -text now report the form a loaded EC key actually has, and re-encoding via PEM or DER preserves it. Docs drop a stale note about a compile-time macro for compressed points on binary curves, and the EC tests now exercise both the affine and the compressed/hybrid binary formats unconditionally (fixing a latent bug in the compressed/hybrid form tests that were never exercised by CI). Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Matt Caswell <[email protected]> MergeDate: Fri Jul 10 09:21:29 2026 (Merged from https://github.com/openssl/openssl/pull/30940)
* Fix typosDimitri Papadopoulos2026-07-089-11/+11
| | | | | | | | | | | | | | | | Found by typos[1]. [1] https://github.com/crate-ci/typos CLA: trivial Reviewed-by: Shane Lontis <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Tim Hudson <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed Jul 8 10:46:01 2026 (Merged from https://github.com/openssl/openssl/pull/31858)
* doc/man3/ASN1_INTEGER_get_int64.pod: fix a typoJoe Orton2026-07-081-1/+1
| | | | | | | | | | | CLA: trivial Fixes: 6c5b6cb03566 "ASN1 INTEGER refactor." Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Frederik Wedel-Heinen <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed Jul 8 10:18:11 2026 (Merged from https://github.com/openssl/openssl/pull/31815)
* BIO: avoid returning internal FILE * with UPLINK-enabled builds on Windowsolszomal2026-07-081-4/+3
| | | | | | | | | | | | | | | | On Windows with UPLINK enabled, BIO_get_fp() may return a FILE * pointer incompatible with the C runtime. Ensure that it returns NULL instead, preventing undefined behavior in applications. Update the documentation to include the missing return type for BIO_[gs]et_fp() and remove the mention that BIO_get_fp() never returns 0, as it does so now when NULL fp is returned. Signed-off-by: olszomal <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed Jul 8 09:47:40 2026 (Merged from https://github.com/openssl/openssl/pull/28172)
* Add -n option to openssl-rand to not output the trailing newlineEvy Garden2026-07-021-0/+5
| | | | | | | | Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Thu Jul 2 10:59:26 2026 (Merged from https://github.com/openssl/openssl/pull/31795)
* Add EVP_KDF_CTX_get0_kdf and EVP_KDF_CTX_get1_kdf, deprecate EVP_KDF_CTX_kdfLeon Timmermans2026-07-022-4/+25
| | | | | | | | | Resolves: https://github.com/openssl/openssl/issues/28327 Reviewed-by: Bob Beck <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> MergeDate: Thu Jul 2 07:24:22 2026 (Merged from https://github.com/openssl/openssl/pull/28954)
* Removes some stale SSLv3 support around the code and updated documentation ↵Frederik Wedel-Heinen2026-06-3012-45/+37
| | | | | | | | | | to reflect removal. Reviewed-by: Matt Caswell <[email protected]> Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> MergeDate: Tue Jun 30 11:04:18 2026 (Merged from https://github.com/openssl/openssl/pull/30824)
* doc/man7/EVP_KDF-SNMPKDF.pod: fix password parameter documentationdannyward6302026-06-261-4/+4
| | | | | | | | | | | | | | | | | Document the SNMPKDF "pass" parameter with OSSL_KDF_PARAM_PASSWORD, matching the implementation and other KDF documentation. Also, fix the nearby grammar. Resolves: https://github.com/openssl/openssl/issues/31543 Fixes: 1b035166bdb2 "Add SNMPKDF implementation" CLA: trivial Reviewed-by: Shane Lontis <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> MergeDate: Fri Jun 26 16:29:54 2026 (Merged from https://github.com/openssl/openssl/pull/31592)
* Add documentation for NAME_CONSTRAINTS_checkBob Beck2026-06-243-1/+229
| | | | | | | | | | | | | | | | | | | | | | | | | | We document which names and name constraints will be evaluated as well as the limits that will be placed on the evauluation on a per certificate basis. We call out in the BUGS section that the RFC 5280 requires a byte per byte match of name constraints unless the higher level protocol has defines a different matching method for wildcards. This "deferall of specification" and corresponding lack of specification by upper level protocols means that across implementations encountering the default behaviour is to be expected, and that therefore relying on excluded names to constrain signers in a PKI from signing wildcards is ill advised. This is then cross referenced in the documentation for X509_verify_cert and the maximum possible comparisons which can be forces in a certificate validtion noted in the BUGS section of X509_verify_cert. Fixes: https://github.com/openssl/openssl/issues/30706 Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> MergeDate: Wed Jun 24 13:03:54 2026 (Merged from https://github.com/openssl/openssl/pull/31334)
* doc/man3/ASN1_aux_cb.pod: correct return code documentation for the callbacksBob Beck2026-06-221-9/+49
| | | | | | | | | | | | | | | Attempt to make the documentation match the code. Not attempting to change what the code does at this point, it's all very random, and since it's been there, it is effectively established public API now. Reviewed-by: Nikola Pajkovsky <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Tim Hudson <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Mon Jun 22 11:56:58 2026 (Merged from https://github.com/openssl/openssl/pull/31549)
* Fix spelling mistakes in documentationCarlo Deutschmann2026-06-227-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Correct a number of typos found in the man pages: * doc/man3/SSL_CTX_set1_curves.pod: attenion -> attention * doc/man3/CMS_EncryptedData_decrypt.pod: decypted -> decrypted * doc/man3/X509_get_default_cert_file.pod: delimeter -> delimiter * doc/man3/SSL_CTX_set_msg_callback.pod: diagostic -> diagnostic * doc/man7/openssl-core_dispatch.h.pod: dipatch -> dispatch * doc/man3/BIO_s_datagram.pod: hecause -> because * doc/man3/ASN1_aux_cb.pod: auxiliarly -> auxiliary CLA: trivial Fixes: 3d9d1ce52904 "Add documentation for newly added ASN1 functions" Fixes: 408622b73a18 "BIO_s_dgram: add documentation and hazard warnings" Fixes: e2f6960fc5fe "CMS: Export CMS_EnvelopedData and add CMS_EnvelopedData_decrypt()" Fixes: 9efd7e9e98a9 "Fix group tuple handling in DEFAULT expansion" Fixes: bfcf1356f9fd "Update the msg_callback documentation" Fixes: 606e0426a148 "Add support for loading root CAs from Windows crypto API" Fixes: 329b2a2cde48 "DOCS: add openssl-core_numbers.h(7)" Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Kurt Roeckx <[email protected]> Reviewed-by: Tim Hudson <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Sun Jun 21 22:50:14 2026 (Merged from https://github.com/openssl/openssl/pull/31596)
* doc/man3/EVP_PKEY_get_size.pod: add man for the security categories tableEugene Syromiatnikov2026-06-181-0/+18
| | | | | | | | | | | | | | | | | | Commit 73188a01bd99 "doc: document EVP_PKEY_get_security_category function" has added security level definitions as a table, that has been implemented raw via "=begin" POD directives; while the formatting for "html" and "text" (that is not even generated by the build system) has been provided, "man" (arguably, the most relevant one) has been omitted, surprisingly. Rescind that omission by providing the respective table formatting for man. Complements: 73188a01bd99 "doc: document EVP_PKEY_get_security_category function" Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> Reviewed-by: Bob Beck <[email protected]> MergeDate: Thu Jun 18 12:35:47 2026 (Merged from https://github.com/openssl/openssl/pull/31410)
* fips: Bring back FIPS_mode() as a defineDimitri John Ledkov2026-06-183-3/+31
| | | | | | | | | | | | | | | | | | | | | | | | | Old OpenSSL had a FIPS_mode() function. AWS-LC-FIPS and BoringSSL-FIPS still have the FIPS_mode() API. RHEL-derived systems also still provide FIPS_mode() as a define in up-to-date OpenSSL. And feedback from multiple large commercial software vendors is that there is a lot of code out there that still has FIPS_mode() sprinkled all over the place. Add `FIPS_mode()` as a convenience define to `EVP_default_properties_is_fips_enabled(NULL)` which is a short-hand to check if `fips=yes` property is currently enabled on the default library context. It is a hint of intent, but not a proof. If you are looking to validate whether the default configuration is using a validated module, many additional checks are needed; please consult the security policy of the module you are using. We heavily discourage using this macro. Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Bob Beck <[email protected]> Reviewed-by: Neil Horman <[email protected]> MergeDate: Thu Jun 18 11:58:15 2026 (Merged from https://github.com/openssl/openssl/pull/30339)
* DOC: document ticket suppression for SSL_OP_NO_TICKET and SSL_SESS_CACHE_OFFDaniel Kubec2026-06-152-0/+16
| | | | | | | | | | | Complements: e5a1892 "TLS1.3: Disable tickets when SSL_OP_NO_TICKET and SSL_SESS_CACHE_OFF are set." Co-authored-by: Andrew Dinh <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Mon Jun 15 14:13:25 2026 (Merged from https://github.com/openssl/openssl/pull/31335)
* Test s_time with new -testmode optionJakub Zelenka2026-06-151-1/+11
| | | | | | | | | | | | | Adds -testmode to s_time, mirroring the option in openssl speed. It bypasses the -time window and runs a minimal number of iterations (1 for new connections, 2 for session reuse). Adds test_stime covering the new, reuse, and TLSv1.2/TLSv1.3 paths. Reviewed-by: Tom Cosgrove <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Mon Jun 15 13:53:39 2026 (Merged from https://github.com/openssl/openssl/pull/31192)
* Enforce implicit rejection for CMS/PKCS#7 decryptionDmitry Belyavskiy2026-06-112-3/+11
| | | | | | | | | | | | | Drop the disablement of the implicit rejection for RSA PKCS#1 v1.5 decryption. Fixes CVE-2026-42768 Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Alicja Kario <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Mon Jun 8 19:49:19 2026
* CMP: Optionally accept missing or non-matching transactionID or recipNonce ↵Dr. David von Oheimb2026-06-112-0/+18
| | | | | | | | | | | | | | | values This is done for error messages received if OSSL_CMP_OPT_NONMATCHED_ERROR_NONCES is set or the respective -nonmatched_error_nonces CLI option is given. Can be helpful when the server (or other peer) cannot provide a proper error message header, for instance if was unable to parse the ASN.1 encoding of a request message. Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 11 14:56:49 2026 (Merged from https://github.com/openssl/openssl/pull/29043)
* add HISTORY and CHANGES.md entry for ↵Dr. David von Oheimb2026-06-111-0/+2
| | | | | | | | | | | OSSL_CMP_OPT_PERMIT_TA_IN_EXTRACERTS_FOR_IR introduced in 4.0 Complements: 21722fe5545c "OSSL_CMP_OPT_PERMIT_TA_IN_EXTRACERTS_FOR_IR: use new TA(s) for whole transaction (also pkiconf); update doc" Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 11 14:56:47 2026 (Merged from https://github.com/openssl/openssl/pull/29043)
* OSSL_CMP_CTX_new.pod: fix HISTORY entry for ↵Dr. David von Oheimb2026-06-111-2/+2
| | | | | | | | | | | OSSL_CMP_CTX_get0_geninfo_ITAVs() and OSSL_CMP_OPT_NO_CACHE_EXTRACERTS Complements 8d9c8b3ff "CMP doc: add missing text on OSSL_CMP_OPT_NO_CACHE_EXTRACERTS to OSSL_CMP_CTX_new.pod and ossl_cmp_msg_check_update.pod" Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Thu Jun 11 14:56:46 2026 (Merged from https://github.com/openssl/openssl/pull/29043)
* doc: document SSL_set_*_state SSL argumentSteve Grubb2026-06-111-0/+2
| | | | | | | | | | | | | | SSL_set_connect_state() and SSL_set_accept_state() have no return value to report argument errors, but their documentation did not state the precondition for the SSL argument. Passing NULL, or a pointer that is not a valid SSL object, is a programmer error rather than a recoverable API error. Document that the ssl argument must point to a valid SSL object and must not be NULL. Reviewed-by: Frederik Wedel-Heinen <[email protected]> Reviewed-by: Matt Caswell <[email protected]> MergeDate: Thu Jun 11 09:04:23 2026 (Merged from https://github.com/openssl/openssl/pull/31435)
* Let's attempt to make real documentation for X509_verify_certBob Beck2026-06-101-60/+427
| | | | | | | | | | | | | | | | | | | | | | | | | I am doing this because I have need to add information that really does belong here, and the current stuff is less documentation than more or less some hand waving about how it works without any details So to summarize the changes: 1) This documents the current way that X509_verify_cert goes about building and verifying a chain, identifying the relevant flags that can affect how this happens today, and cross references the correct page to find the rest of the exhaustive list of verification flags and what they do. 2) This documents the verification callback and how it can be used to affect the verification outcome, This includes warning potential users of the callback of what returning values from it means, the common ways to end up unintentionaly doing things you did not expect with the callback, and that it depends upon internals and should not be relied upon. Reviewed-by: Saša Nedvědický <[email protected]> Reviewed-by: Neil Horman <[email protected]> MergeDate: Wed Jun 10 11:33:13 2026 (Merged from https://github.com/openssl/openssl/pull/31314)
* doc: document OSSL_PKEY_PARAM_BITS meaning for each key typekovan2026-06-101-1/+55
| | | | | | | | | | | | | | | | | | | | The EVP_PKEY_get_bits() documentation states that "the definition of cryptographic length is specific to the key cryptosystem" but doesn't explain what this means for each key type. Add a detailed list explaining what "bits" represents for RSA, DSA, DH, EC, X25519, X448, Ed25519, Ed448, ML-DSA, SLH-DSA, and ML-KEM key types to help users understand the return value. Fixes #28337 Co-Authored-By: Claude Opus 4.5 <[email protected]> Reviewed-by: Dmitry Belyavskiy <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Norbert Pocs <[email protected]> MergeDate: Wed Jun 10 11:15:17 2026 (Merged from https://github.com/openssl/openssl/pull/29790)
* make sure BIO_set_ssl() transfers ownership of ssl only on success; document ↵Dr. David von Oheimb2026-06-101-0/+1
| | | | | | | | | this Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed Jun 10 06:27:04 2026 (Merged from https://github.com/openssl/openssl/pull/27357)
* OSSL_HTTP_REQ_CTX.pod: tweak description of 'expect_asn1' parameter of ↵Dr. David von Oheimb2026-06-101-4/+4
| | | | | | | | | OSSL_HTTP_REQ_CTX_set_expected() Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed Jun 10 06:27:02 2026 (Merged from https://github.com/openssl/openssl/pull/27357)
* apps/cmp.c: fix use of SSL_set_tlsext_host_name() for SNI and ↵Dr. David von Oheimb2026-06-101-8/+12
| | | | | | | | | X509_VERIFY_PARAM_set1_host() Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed Jun 10 06:27:00 2026 (Merged from https://github.com/openssl/openssl/pull/27357)
* SSL_CTX_set_tlsext_servername_callback.pod: improve doc of ↵Dr. David von Oheimb2026-06-101-14/+22
| | | | | | | | | | | SSL_set_tlsext_host_name(); update format Add recommendation to use it for TLS clients, together with X509_VERIFY_PARAM_{set1,add1}_host() Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed Jun 10 06:26:57 2026 (Merged from https://github.com/openssl/openssl/pull/27357)
* Provide independent lock failure signal on cmp_exch_ptrNeil Horman2026-06-091-3/+9
| | | | | | | | | | | | | | | | Our CRYPTO atomic api has a somewhat consistent problem in that its possible in the case where locking fails to return an error while the actual operation (store_int, store_ptr, etc), actually succeded. cmp_exch is somewhat special here in that we may really need to know independently if the function failed due to lock failure and if the exchange occured (so we can know the output value of *expect). Add a separate parameter to allow callers to be informed of these statuses independently. Reviewed-by: Norbert Pocs <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> MergeDate: Tue Jun 9 17:46:07 2026 (Merged from https://github.com/openssl/openssl/pull/31319)
* add fingerprint of the new PGP keyDmitry Misharov2026-06-081-0/+3
| | | | | | | | Reviewed-by: Milan Broz <[email protected]> Reviewed-by: Richard Levitte <[email protected]> Reviewed-by: Tomas Mraz <[email protected]> MergeDate: Mon Jun 8 08:27:39 2026 (Merged from https://github.com/openssl/openssl/pull/31353)
* doc: Clarify SSL_CERT_DIR uses semicolon separator on Windowskovan2026-06-032-2/+4
| | | | | | | | | | | | | | | | | | The documentation for SSL_CERT_DIR stated that directories are colon-separated, but on Windows the separator is semicolon. Updated: - openssl-rehash.pod.in: Added note about semicolon separator on Windows - openssl-env.pod: Added note about multiple directories and Windows separator Fixes: #27698 Co-Authored-By: Claude Opus 4.5 <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Nikola Pajkovsky <[email protected]> MergeDate: Wed Jun 3 11:44:35 2026 (Merged from https://github.com/openssl/openssl/pull/29894)
* Provide ASN1_STRING_new_not_owned()Bob Beck2026-06-031-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | This function provides the ability to construct an ASN1_STRING containing data that is not owned by the constructed ASN1_STRING. The resulting ASN1_STRING, when freed, will not free the data, and it is the caller's resposibility to ensure that the data lives past the lifetime of any returned ASN1_STRING. Why? you may ask? Many places where ->data and ->length were used directly in the past before the opaquification of ASN1_STRING were for this purpose, whether used for actual static data, or to turn bytes created by and in control of the caller into an ASN1_STRING for temporary use as an input. This function makes this easier to do without making copies. The function deliberately does not allow the creation of a BIT_STRING as this would require also always providing unused bits, which is annoying and unnecessary for almost all potential use cases. For: https://github.com/openssl/openssl/issues/29861 For: https://github.com/openssl/openssl/issues/30162 Reviewed-by: Neil Horman <[email protected]> Reviewed-by: Saša Nedvědický <[email protected]> MergeDate: Wed Jun 3 11:42:49 2026 (Merged from https://github.com/openssl/openssl/pull/30964)
* doc: Add a missing comma in -traditional option explanation.Cristian Yxen2026-06-021-1/+1
| | | | | | | | | CLA: trivial Reviewed-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Paul Yang <[email protected]> MergeDate: Tue Jun 2 11:48:05 2026 (Merged from https://github.com/openssl/openssl/pull/31342)
* ossl_store.pod: add reference to the 'org.openssl.winstore' schemeDr. David von Oheimb2026-06-011-1/+3
| | | | | | | Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Mon Jun 1 04:57:22 2026 (Merged from https://github.com/openssl/openssl/pull/25683)
* SSL_CTX_set1_verify_cert_store.pod: extend list of SEE ALSO referencesDr. David von Oheimb2026-06-011-10/+18
| | | | | | | Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Mon Jun 1 04:57:19 2026 (Merged from https://github.com/openssl/openssl/pull/25683)
* doc/man3/*.pod: fix doc cert_store vs. chain_store/verify_store and PEM formatDr. David von Oheimb2026-06-015-57/+96
| | | | | | | Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Mon Jun 1 04:57:17 2026 (Merged from https://github.com/openssl/openssl/pull/25683)
* apps/*.c,doc/man1/*.pod.in: fix doc and error output of cert_store vs. ↵Dr. David von Oheimb2026-06-014-44/+79
| | | | | | | | | chain_store/verify_store and PEM format Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Mon Jun 1 04:57:15 2026 (Merged from https://github.com/openssl/openssl/pull/25683)
* openssl-rehash.pod.in: fix details of the general description how input ↵Dr. David von Oheimb2026-06-011-7/+11
| | | | | | | | | files are handled Reviewed-by: Tomas Mraz <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Mon Jun 1 04:57:12 2026 (Merged from https://github.com/openssl/openssl/pull/25683)
* doc/man7/ossl-guide-migration.pod: reword DESCRIPTION section a bitEugene Syromiatnikov2026-05-281-3/+4
| | | | | | | | | | | | Update the wording in the DESCRIPTION section, so it is no longer implied that OpenSSL 3.0 is something new. Signed-off-by: Eugene Syromiatnikov <[email protected]> Reviewed-by: Frederik Wedel-Heinen <[email protected]> Reviewed-by: Igor Ustinov <[email protected]> MergeDate: Thu May 28 07:36:05 2026 (Merged from https://github.com/openssl/openssl/pull/31265)
* doc: match provider-asym_cipher(7) prototypes with core_dispatch.holszomal2026-05-271-2/+2
| | | | | | | | Reviewed-by: Frederik Wedel-Heinen <[email protected]> Reviewed-by: Paul Dale <[email protected]> Reviewed-by: Eugene Syromiatnikov <[email protected]> MergeDate: Wed May 27 07:17:21 2026 (Merged from https://github.com/openssl/openssl/pull/31289)