summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Expose direct access API for Ed25519.tb2022-11-131-3/+1
|
* Expose various EVP hooks for Ed25519 and X25519tb2022-11-131-6/+3
| | | | | | | | This adds the EVP_PKEY_ED25519 and EVP_PKEY_X25519 aliases for the NIDs and exposes the raw public key API. The ED25519_KEYLEN and X25519_KEYLEN defines are still kept internal for now to match what OpenSSL have. We may want to expose those later.
* Add ED25519 aliases for NID, SN and OBJtb2022-11-131-3/+1
| | | | The Ed25519 versions already existed, but OpenSSL chose to uppercase the D.
* Expose ASN1_buf_print() in asn1.htb2022-11-131-3/+1
| | | | | This is needed to print the 32-byte Ed25519 keys which aren't handled as BNs.
* Hide symbols in libcrypto/uibeck2022-11-126-4/+187
| | | | ok jsing@
* Hide symbols in libcrypto/pkcs12beck2022-11-1218-17/+272
| | | | ok jsing@
* Hide symbols in libcrypto/pkcs7beck2022-11-1211-41/+368
| | | | | | | | This applies the guentherizer 9000(tm) to pkcs7, after moving several pkcs7 funcitions back to pkcs7 that were in x509/x_all.c for reasons known only to the miasma. ok jsing@
* Hide symbols in libcrypto/stackbeck2022-11-113-1/+89
| | | | | | | Automated change from the first attempts at the semi automated Guentherizer 2000. ok jsing@ tb@ joshua@
* Clean up openssl(1) command execution.joshua2022-11-111-20/+26
| | | | | | | | | This cleans up the code that handles command execution for openssl(1), displays the help message when 'openssl help' is executed, and exits with code 1 when an invalid command is executed, matching the behaviour of OpenSSL version 1.1+ and above. ok tb@
* Convert the legacy TLS stack to tls_content.jsing2022-11-1110-190/+292
| | | | | | | | | | This converts the legacy TLS stack to tls_content - records are now opened into a tls_content structure, rather than being written back into the same buffer that the sealed record was read into. This will allow for further clean up of the legacy record layer. ok tb@
* Remove the legacy interactive mode from openssl(1).joshua2022-11-1146-376/+231
| | | | | | | | This removes the legacy interactive mode from openssl(1) since it is rarely used, complicates the code, and has also been removed from OpenSSL in version 3.x.x. ok tb@ jsing@
* Symbols.list: Drop comments and sort.tb2022-11-111-33/+22
| | | | | | | While grouping the API by its purpose is nice, it doesn't help much if >90% is "general API". ok jsing
* Use named initialisers.jsing2022-11-111-3/+4
| | | | Requested by tb@
* Merge bf_pi.h into bf_skey.c.jsing2022-11-112-330/+268
| | | | | | | There's not much point having a static table in a header file that is only included in one source file. Discussed with tb@
* Tidy includes, fix comment style and mop up some blank lines.jsing2022-11-116-17/+22
|
* Whack blowfish with a style(9) bat.jsing2022-11-119-740/+741
|
* Start CBS-ifying the name constraints code.beck2022-11-115-138/+198
| | | | ok jsing@ tb@
* Stop pretending that obj_mac.h is optional.jsing2022-11-111-896/+1
| | | | | | | | This is effectively: unifdef -m -DUSE_OBJ_MAC objects/objects.h ok beck@, with extreme prejudice.
* Add support for symbol hiding disabled by default.beck2022-11-1110-5/+232
| | | | | | | | | | | | Fully explained in libcrypto/README. TL;DR make sure libcrypto and libssl's function calls internally and to each other are via symbol names that won't get overridden by linking other libraries. Mostly work by guenther@, which will currently be gated behind a build setting NAMESPACE=yes. once we convert all the symbols to this method we will do a major bump and pick up the changes. ok tb@ jsing@
* zap stray space (CRITICAL!)tb2022-11-111-2/+2
|
* Bump LibreSSL version to 3.7tb2022-11-101-3/+3
|
* Use tls_buffer for alert and handshake fragments in the legacy stack.jsing2022-11-105-49/+94
| | | | | | This avoids a bunch of pointer munging and a handrolled memmove. ok tb@
* Finish migrating to one source file per line.joshua2022-11-101-17/+78
| | | | ok jsing@ tb@
* In asn1.h rev. 1.65, beck@ provided ASN1_TIME_set_string_X509(3),schwarze2022-11-101-11/+139
| | | | | | | | | ASN1_TIME_normalize(3), ASN1_TIME_to_tm(3), ASN1_TIME_cmp_time_t(3), and ASN1_TIME_compare(3). Merge documentation from the OpenSSL 1.1.1 branch, which is still under a free license, with tweaks by me in several respects to match our implementation, and also using some feedback from beck@. OK beck@.
* Allow explicit cert trusts or distrusts for EKU anybeck2022-11-101-4/+6
| | | | | | | | | This matches the current OpenSSL behaviour introduced in their commit: commit 0daccd4dc1f1ac62181738a91714f35472e50f3c Date: Thu Jan 28 03:01:45 2016 -0500 ok jsing@ tb@
* Add regress coverage for Ed25519 and X25519 EVP interfaces.jsing2022-11-102-2/+838
|
* Implement EVP interfaces for Ed25519 and X25519.jsing2022-11-108-7/+902
| | | | ok beck@ tb@
* Remove obsolete function, struct, and macro namesschwarze2022-11-101-5/+0
| | | | | | | | | | that tb@ removed from asn1.h on January 14: rev. 1.58: ASN1_CTX ASN1_const_CTX rev. 1.60: ASN1_OBJECT_FLAG_CRITICAL ASN1_OBJECT_FLAG_DYNAMIC rev. 1.60: ASN1_OBJECT_FLAG_DYNAMIC_DATA ASN1_OBJECT_FLAG_DYNAMIC_STRINGS rev. 1.61: NETSCAPE_X509 NETSCAPE_X509_free NETSCAPE_X509_new rev. 1.61: d2i_NETSCAPE_X509 i2d_NETSCAPE_X509
* Map objects for ED25519 to Ed25519.jsing2022-11-101-1/+7
| | | | | | | OpenSSL used ED25519, even though the RFCs use Ed25519 - as such, we get to provide both. ok tb@
* Continue migrating to one source file per line.joshua2022-11-101-30/+121
| | | | ok jsing@ tb@
* Provide digestsign/digestverify hooks for EVP_PKEY_METHOD.jsing2022-11-104-4/+32
| | | | | | These are needed for EVP implementations of Ed25519 and X25519. ok beck@ tb@
* Continue migrating to one source file per line.joshua2022-11-101-37/+163
| | | | ok jsing@ tb@
* Port EVP raw key API from OpenSSL.jsing2022-11-104-5/+116
| | | | | | This will be needed to deal with Curve25519 based keys. ok beck@ tb@
* Port ASN1_buf_print() from OpenSSL 1.1.jsing2022-11-102-2/+34
| | | | | | This is needed to print byte array based keys, such as Ed25519 and X25519. ok beck@ tb@
* Continue migrating to one source file per line.joshua2022-11-101-26/+110
| | | | ok jsing@ tb@
* Use /tmp as opposed of /var/tmp as the default directory for temporaryanton2022-11-101-2/+2
| | | | files.
* Fix a few more leaks in *_print() functions.tobhe2022-11-102-14/+28
| | | | ok jsing@
* Move bn_prime.h to the public domain.tb2022-11-101-57/+4
| | | | | | It's entirely trivial. ok beck
* Start migrating to one source file per line.joshua2022-11-091-18/+83
| | | | ok jsing@ tb@
* Remove prime_t remnant and link bn_primes test staticallytb2022-11-092-3/+4
|
* Sync CBS_strdup() documentation update from libcrypto.jsing2022-11-091-6/+4
|
* Move table in bn_primes.h to a .c file and get rid of prime_ttb2022-11-095-335/+292
| | | | | | | This way we deduplicate two inclusions of the same big table and eliminate lots of stupid casts. input and ok many
* Fix up indentation for EVP_PKEY_* defines.jsing2022-11-091-19/+19
|
* Revise CBS_strdup() documentation.jsing2022-11-091-6/+4
| | | | | | | CBS_strdup() now internally checks if the data contains NUL, failing if it does. Prompted by beck@
* Clean up EVP_PKEY_METHOD related tables and code.jsing2022-11-091-56/+41
| | | | | | | This is effectively the same as done for EVP_PKEY_ASN1_METHOD, although this table only has nine entries. ok tb@
* Clean up EVP_PKEY_ASN1_METHOD related tables and code.jsing2022-11-091-87/+52
| | | | | | | | | | | Rather than messing around with an OBJ_bsearch() for a table that contains 16 entries (and a stack find for any application added methods), simply do a reverse linear scan. This maintains the application method first behaviour, while removing a chunk of code. While here rename some variables and do some style clean up. ok tb@
* Add tests for boundary conditions of struct tm.beck2022-11-091-1/+125
| | | | Struct tm is limited by it's year being an int.
* Revise ED25519 regress following API changes.jsing2022-11-091-25/+5
|
* Make X25519_public_from_private() internally reachable.jsing2022-11-092-5/+8
|
* Rename public_value to public_key for consistency.jsing2022-11-091-9/+9
| | | | ok tb@