summaryrefslogtreecommitdiff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Import regress tests for SM2. Not yet linked to the build.tb2021-08-184-0/+640
| | | | Part of Github PR #105
* Import initial code for the SM2 ciphertb2021-08-187-0/+1870
| | | | | | | | | | | | | | | | | This adds the SM2 algorithm defined in the Chinese standards GB/T 32918.1-2016, GB/T 32918.2-2016, GB/T 32918.3-2016, GB/T 32918.4-2016 and GB/T 32918.5-2017. This is an ISC licensed implementation contributed by Ribose.inc, based on the same code that was contributed to OpenSSL by Jack Lloyd. The port to LibreSSL was done by Ronald Tse and Nickolay Olshevsky. Github PR #105 I made quite a few cleanup passes on this, but more is needed, some of which will happen in-tree before this is linked to the build. ok deraadt inoguchi (a long time ago), jsing
* Add a check_trust call to the legacy chain validation on chain add, rememberingbeck2021-08-181-2/+10
| | | | | | | | | the result in order to return the same errors as OpenSSL users expect to override the generic "Untrusted cert" error. This fixes the openssl-ruby timestamp test. ok tb@
* Refactor the legacy chain validation from the chain adding code into itsbeck2021-08-181-52/+70
| | | | | | own function, in preparation for subesquent change. No functional change. ok tb@
* typo in commenttb2021-08-161-2/+2
|
* add new (unsupported) eddsa in certificate verify teststb2021-08-111-1/+3
|
* link X509_STORE_get_by_subject(3) and X509_ocspid_print(3) to the build,schwarze2021-08-061-1/+3
| | | | forgotten in earlier commits
* new manual page X509_ocspid_print(3)schwarze2021-08-063-6/+66
| | | | using input from tb@, and OK tb@ on an earlier version
* add a roff(7) comment marking the API function X509_get_default_private_dir()schwarze2021-08-061-2/+5
| | | | | as intentionally undocumented because it is trivial and unused in the wild; OK tb@
* SSL_CTX_remove_session() checks for a NULL session, avoid doing it twice.jsing2021-08-041-2/+2
| | | | Noted by tb@ during review of a larger change.
* Document X509_get_default_cert_dir_env(3)schwarze2021-08-031-8/+35
| | | | | | | | | and X509_get_default_cert_file_env(3). LibreSSL itself does not call getenv(3), but a few application programs including epic5, fetchmail, fossil, slic3r call these functions, so in case programmers find them in existing code, telling them what they do seems useful.
* Document X509_get_default_cert_area(3).schwarze2021-08-031-7/+41
| | | | | | | Put it into this page because this is the code actually using it. Despite its name and include file, it is unrelated to X.509 and unrelated to certificates: it is just the default directory containing the library configuration file, openssl.cnf(5).
* tweaks regarding X509_LOOKUP_by_subject(3):schwarze2021-08-021-8/+28
| | | | | | * document the X509_OBJECT output parameter * more precision regarding return values * clarify relationship with X509_LOOKUP_ctrl(3) for the dir lookup method
* new manual page X509_STORE_get_by_subject(3)schwarze2021-08-025-12/+212
|
* document X509_STORE_load_mem(3) and X509_STORE_add_lookup(3)schwarze2021-08-011-7/+67
|
* document X509_LOOKUP_mem(3) in X509_LOOKUP_hash_dir(3)schwarze2021-07-318-32/+636
| | | | and add a new manual page X509_LOOKUP_new(3)
* We have defines for alert levels - use them instead of magic numbers.jsing2021-07-312-7/+5
|
* Move the explanations related to *ptree closer together and correctschwarze2021-07-301-16/+19
| | | | | | | | | the lie that *ptree is set upon success - in some cases of success, it is set to NULL, whereas in some cases of failure, a non-trivial tree may be returned. beck@ pointed out that statements related to *ptree were scattered all over the place, and this patch works for him.
* Ensure that the kill signal undergoing testing is not ignored.anton2021-07-291-1/+15
| | | | ok bluhm@
* Fix a documentation bug i introduced that tb@ pointed out:schwarze2021-07-291-12/+3
| | | | | X509_policy_check(3) never returns 2. If validation succeeds, it always returns 1.
* Document X509_STORE_set_verify_func(3), mostly using text from theschwarze2021-07-291-8/+32
| | | | | | | OpenSSL 1.1.1 branch, which is still under a free license, tweaked by me. While here, garbage collect the weird BUGS section.
* document X509_STORE_CTX_get0_parent_ctx(3)schwarze2021-07-291-4/+34
|
* document X509_STORE_CTX_set_app_data(3) and X509_STORE_CTX_get_app_data(3)schwarze2021-07-291-4/+51
|
* document X509_STORE_CTX_get0_policy_tree(3)schwarze2021-07-281-4/+41
| | | | and X509_STORE_CTX_get_explicit_policy(3)
* document X509_policy_tree_free(3)schwarze2021-07-281-3/+19
|
* consisely explain the meaning of return values rather than merelyschwarze2021-07-281-3/+20
| | | | refering to child object names defined in the standard
* Explain the meaning of the policy_oids input argument, correct theschwarze2021-07-281-14/+12
| | | | | | description of the *pexplicit_policy output argument and make it less technical, and drop the mention of the expected_policy_set because the library provides no accessor function for it.
* explicitely -> explicitly;jmc2021-07-281-4/+4
|
* new manual page X509_policy_check(3)schwarze2021-07-276-10/+198
|
* Add error checks for i2d_X509_NAME()tb2021-07-261-3/+5
| | | | | | | This avoids potential malloc(-1) and malloc(0), spotted by schwarze while documenting X509_ocspid_print(). ok schwarze
* new manual page X509_policy_tree_level_count(3)schwarze2021-07-264-6/+168
| | | | documenting the X509_POLICY_TREE object and its sub-objects
* Dedup dtls1_dispatch_alert()/ssl3_dispatch_alert().jsing2021-07-266-65/+26
| | | | | | | | The code for dtls1_dispatch_alert() and ssl3_dispatch_alert() is largely identical - with a bit of reshuffling we can use ssl3_dispatch_alert() for both protocols and remove the ssl_dispatch_alert function pointer. ok inoguchi@ tb@
* Document X509_STORE_CTX_set_trust(3), X509_STORE_CTX_set_purpose(3),schwarze2021-07-251-4/+226
| | | | | and X509_STORE_CTX_purpose_inherit(3). These functions look deceptively simple on first sight, but their semantics is surprisingly complicated.
* Two new manual pages X509_TRUST_set(3) and X509_check_trust(3)schwarze2021-07-248-12/+516
| | | | | documenting ten functions related to X509_TRUST objects, trust identifiers, and trust indices.
* Compare strcmp and strcasecmp return value with zeroinoguchi2021-07-241-6/+6
|
* Add basic regression tests for strchr() and strrchr().visa2021-07-243-2/+79
|
* Similar to x509/x509_purp.c rev. 1.5:schwarze2021-07-231-5/+1
| | | | | | | | | | | | | Delete some code from X509_TRUST_cleanup(3) that had no effect: it called a function on static objects that returns right away unless the argument is dynamically allocated. Pointed out by tb@. This commit is identical to: OpenSSL commit 5e6e650d62af09f47d63bfdd6c92e3b16e9da644 Author: Kurt Cancemi <kurt at x64architecture dot com> Date: Thu Jun 9 21:57:36 2016 -0400
* Delete some code from X509_PURPOSE_cleanup(3) that had no effect:schwarze2021-07-231-5/+1
| | | | | | | | | | | | | it called a function on static objects that returns right away unless the argument is dynamically allocated. OK jsing@ tb@ The useless code was independently discovered while writing documentation. This commit is identical to: OpenSSL commit fa3a0286d178eb3b87bf2eb5fd7af40f81453314 Author: Kurt Cancemi <kurt at x64architecture dot com> Date: Wed Jun 8 19:15:38 2016 -0400
* Add a roff(7) comment that X509_issuer_and_serial_hash() isschwarze2021-07-231-2/+4
| | | | | | intentionally undocumented because it uses MD5 only and is unused in real-world code according to codesearch.debian.net. No objection from tb@.
* Make MALLOC_STATS compile again; noted by Omar Polo and Joe Nelsonotto2021-07-231-2/+2
|
* clarify the meaning of the argument of X509_VERIFY_PARAM_set_purpose(3)schwarze2021-07-231-10/+16
|
* mention the possibility that user-defined purpose identifiers may haveschwarze2021-07-231-2/+13
| | | | been defined or user-supplied checking functions may have been installed
* new manual page X509_PURPOSE_set(3) documenting 11 functionsschwarze2021-07-234-5/+303
| | | | related to X509_PURPOSE objects, purpose identifiers, and purpose indices
* occured -> occurred;jmc2021-07-231-3/+3
|
* document X509_STORE_CTX_set_time(3) and X509_STORE_CTX_set_depth(3)schwarze2021-07-221-2/+34
|
* Major cleanup.schwarze2021-07-221-85/+66
| | | | | | | | | | | | | 1. Fix the order of functions to match the order they occur in application code, making the text significantly easier to follow. 2. Do not use the same argument placeholder *sk for several different things; call the arguments *trusted, *untrusted, and *crls as appropriate. 3. Avoid using the word "initialised" for two different concepts in the same manual page; it was sometimes intended to mean "fill with zeros" and sometimes "replace the zeros with useful data". 4. Generally, make the text more precise, more straightforward, and shorter (-84 +65 lines of mdoc code).
* Split the functions operating on the X509_VERIFY_PARAM object outschwarze2021-07-223-74/+172
| | | | | | | | | of X509_STORE_CTX_new(3) because i'm about to document five additional functions of this kind and the page X509_STORE_CTX_new(3) is growing unwieldy. No text change yet, except that i added an introductory sentence to the beginning of the DESCRIPTION of the new page.
* document X509_STORE_CTX_get0_current_issuer(3)schwarze2021-07-221-5/+51
| | | | and X509_STORE_CTX_get0_current_crl(3)
* Move X509_STORE_CTX_get0_cert(3) to the X509_STORE_CTX_new(3) manual.schwarze2021-07-222-65/+113
| | | | | | | | | | | | | | | | | | | OpenSSL documents it in X509_STORE_CTX_get_error(3), but it is misplaced there. It has nothing to do with accessing status or error information but merely retrieves a pointer to the certificate that the users wants to validate. It is a companion function to X509_STORE_CTX_init(3), X509_STORE_CTX_set_cert(3), X509_STORE_CTX_get0_store(3), and X509_STORE_CTX_get0_untrusted(3). While here: 1. Clarify how the new, init, verify, cleanup, and free calls interact, and who owns the memory involved, because this is all really confusing from the user perspective. 2. Clarify how X509_STORE_CTX_init(3), X509_STORE_CTX_set_cert(3), and X509_STORE_CTX_set_chain(3) partially override each other. 3. Move X509_STORE_CTX_set0_untrusted(3) to the proper place because it is the same as X509_STORE_CTX_set_chain(3). 4. Add a few missing words and improve some wordings.
* Document X509_STORE_CTX_get_chain(3).schwarze2021-07-211-5/+15
| | | | | It is deprecated, but it is still called by various application programs, so let's better mention it.