Files
AnyPS5/docs/dev/debt/libSceLibreSsl3.md
T

10 KiB

libSceLibreSsl3 technical debt

Unknown function info

  • libSceLibreSsl3 pending exports - 81 named callable exports, excluding CRYPTO_memcmp, MD5, SHA1, d2i_ASN1_INTEGER, EVP_PKEY_up_ref and EC_KEY_up_ref, remain unimplemented from the PS5 3.20 export table, cross-checked against the same module in PS5 firmware 13.60. Their signatures and behaviour are unverified; the declarations use the no-parameter unknown-signature convention and throw through NotImplemented_nid_no_patch.

Functional

  • ASN.1 integer decoding throws on rejected encodings/allocation failures instead of matching native NULL/error handling. Redundant-sign/empty-content rejection retains old output that the module frees and clears. The decoder does not populate the legacy queue; remaining LibreSSL3 ERR exports throw. 13.42 native-PC evidence, using a recording allocator, confirms tested replacement/free order, allocation cleanup and negative-length NULL returns. Nonnegative null input faults natively and throws here. Console/application-heap ABI and untested error-precedence/overflow combinations remain unverified. Contracts follow LibreSSL 4.0.0. Closes when: error/replacement semantics and console/allocator interoperability are verified.

  • CRYPTO_memcmp follows the public LibreSSL signature and equality contract, without PS5 verification. The exact nonzero result for unequal buffers is unspecified by that contract. Content-independent execution of its volatile byte reads still depends on the compiler; inspect optimized code when changing toolchains. Closes when: measured on a PS5 and the supported toolchains' generated code is checked.

  • MD5 and SHA1 (libSceLibreSsl3) - follow LibreSSL's md5.c, sha1.c and hash through libSceLibreSsl's MD5_* and SHA1_*. A null digest buffer, which LibreSSL 4.0.0 does not check, throws. Nothing is checked on the console

  • EVP_PKEY_up_ref and EC_KEY_up_ref - console layouts and retain/release interoperability are unverified. The 32-byte EVP and 64-byte EC layouts, with counters at offsets 4 and 48, follow LibreSSL 4.0.0 evp/evp_local.h, evp/p_lib.c, ec/ec_local.h and ec/ec_key.c. Atomic retains replace its internal mutex; future releases must synchronize with the same counters. With no key constructors/destructors in this module, tests use caller-owned objects without validating allocator or destruction compatibility. Null keys and signed-counter overflow, undefined upstream, throw without mutation. Closes when: console layouts and lifetime interoperability are measured.

  • Parent export forwarding exposes 395 parent-library exports on Windows through IAT tail jumps without changing their ABI. Non-Windows hosts use their existing dependency lookup. Static COFF inspection verifies names, parent imports and tail jumps; Windows loading and runtime behavior remain unverified. Parent functions retain their existing implementation limitations.

Additional callable export inventory

  • Additional exports declare 183 callable exports: 57 named and 126 known only by NID. Every entry throws. Parameterless int declarations are unknown-signature placeholders, not verified ABI contracts. Names/NIDs match the 13.60 export table. No functional implementation or title unblock is claimed.
Name NID
unknown ++b0FizBrJk
unknown +STC2BUY9vY
unknown +Tu0gXSas9s
unknown +bQfpiUHRVk
unknown 0BW+8jTsY54
unknown 0IxWzLyU8PI
SSL_SESSION_get_timeout 0JcHkrKJ9iw
unknown 13BHMSblVyY
unknown 27Fuliv3Om8
unknown 2bIZM-OfE8Y
unknown 2l+JidqxyZQ
TLS_method 31eWdro1jqs
unknown 3KZ-L4y1gak
unknown 3m4CmAyOXwQ
BIO_clear_flags 3sypCuBDdQs
unknown 3tGgkjBQ82A
unknown 3v2Omd4sqcU
unknown 3wlK0tLONvk
unknown 409ieWBMPUk
unknown 44M+SEbpNdQ
unknown 4Q3bvOy4LY8
unknown 4pEl-5DmrrM
EVP_CIPHER_iv_length 4ryyfC3TknU
SSL_set_accept_state 5BoCLZK9mGk
unknown 5DhOJmgra8E
unknown 5NBoRJYLH0U
unknown 5PWK0cYOpHs
i2d_SSL_SESSION 5aSlVeVSKVc
unknown 5ex+694ri90
tls_read 7RvDjfy4gUA
unknown 8A-gU2xQfjY
unknown 8AGfaSvdDq4
unknown 8kct4CSWwOA
tls_configure 8pwP-7j5UZI
X509_STORE_CTX_get0_param 8wroYNJAQpo
X509_VERIFY_PARAM_set_flags 9E9Gr4FLIE4
unknown A-Hs-8mau+8
unknown A0lZtFjhcTw
unknown A65b+ZhOt9k
BN_clear_free ABcJv8S1KEM
unknown AiNud8LR8B4
unknown Ax+Uu++rnrA
SSL_CTX_set_timeout BBOgwZLvXHA
tls_config_new BQNyLN2nA9w
unknown BRjfzlGULmU
unknown BS5yWv6X-hg
unknown C7eFtWPfLdk
unknown CFRaBB2+R+s
unknown DZ6fywqpaik
TLS_server_method EtM5Jwx4EFo
unknown F7jknWesBTY
tls_close Fqc0-3YCXjo
tls_client GEK3LmjM9Q4
unknown GFEaREp1UFw
EVP_PKEY_get0_EC_KEY GY2X+VHs568
unknown GjO5Ap3E-t4
EVP_MD_CTX_md H1dRCduUy+o
unknown HE-vihq-KKw
EVP_PKEY_verify HEuvmk+aHs4
unknown IOutZPRNNPo
d2i_SSL_SESSION IiG4HLr+cOw
unknown J437jVn9pjI
unknown J5ZLHxWkT6k
unknown JSqFTYGaWhU
unknown JvoQz7GYOMo
unknown Jzebx477Q3M
SSL_CTX_add1_chain_cert L897DuAuXKk
unknown LA1MlgDx80o
tls_config_free LL8N+X6DA-4
HMAC_CTX_new LcxutSyn11o
unknown LdGe2IfIlpI
unknown M7ze0mz2jQM
tls_error N+G3Gxequt0
unknown O9Thca3enw8
unknown OqtHJ7QUZg8
unknown PBYz0kpXwg8
unknown PNfwr3s6dEs
unknown PcUZS7XHwHk
unknown QKIOxHfZLh8
unknown QTV9Nyi7ryg
unknown QYEjNnn6PT4
SSL_CIPHER_get_id QaiPrM-RrrM
unknown QhYzE+Jdvuk
unknown QnjD8S6Rgk4
unknown R3NyckUcClU
BN_dup RMhEgJs6KLI
EVP_sha512_256 Sea+FOS2GOI
unknown Sqn+7yQmQWc
unknown Ssfu1yw4Em4
unknown TKGJOgbeyuA
unknown TpBvY92mrSM
unknown U1dQZ1rXHdA
unknown U3AsZ-9e2MI
SSL_CTX_set0_chain UHkYqkyfwOs
unknown UT6E1YgI8mw
unknown UmAPG5bxYYk
X509_STORE_load_locations V3JtebYui1A
ERR_func_error_string VXuysR7ySzw
EVP_get_digestbyname Wm24hhTLqWM
SSL_SESSION_set_time XG3hIzt9VXY
unknown XK3FmaTS6pg
HMAC_CTX_free YAxGqtnKQFY
unknown YJ7bfxMHniE
unknown ZERQN8ewpgk
unknown ZFeTGo4ybcw
unknown ZQ3b6SakHkc
unknown aKGUCnoiE+k
unknown aLdgrI2jAF0
unknown aSO3Svp7umY
unknown agQxMaXVE8o
unknown as+t2ZOg5fw
unknown ba4o0Ih6kSs
unknown bpOQdoGE2es
SSL_get_version dL2V0os4TZ4
unknown dQE7FIbNsUE
i2d_X509 e2ReciVG21w
unknown eyrIagsax0w
unknown f6Pa2rYH-dw
unknown fR2Wat3ssHs
d2i_X509_CRL fVos2kAqfMI
tls_write fZJr2OF+KGw
unknown fdvZNUHm-dE
unknown fq1vAGKJNrI
unknown gavhu7SX2FI
PEM_read_bio_PUBKEY gn7mRF71J4k
EVP_PKEY_assign gp5dGS14-pI
OPENSSL_init_ssl hGiyDq-l4AE
unknown iFlkTGEbE9k
unknown iHetf873n+4
unknown je-ydGAbgFg
unknown k1AHUWet-oU
sk_new kJ+Y+ppuuRg
unknown kO-jQ3HS9kE
unknown kPCJUQuguzE
BIO_set_flags lLHlEb1nt5U
unknown lTdt9OsPAV0
SSL_set_alpn_protos lyk0UDADPAc
unknown mKlCMgWMU84
SSL_set_info_callback mOQe5RQATT4
unknown mXrusLhI3CI
unknown mhAgol4ETgY
tls_server nCOh70mg3K0
unknown o0dpw6ZZ6K0
unknown o3Q8yQAMT-k
sk_push oXlgRDLB+w8
EVP_PKEY_derive_set_peer ovH4WphWIQQ
unknown pW329hq95Hc
unknown pdxCm9+CCc4
EVP_CIPHER_key_length qAG7o03bkkM
unknown qGsc6uT6p1E
EVP_PKEY_verify_init qseLIVbdvMQ
sk_free rI4q1FM+0gQ
unknown rJZ-aiNIYCA
unknown s8WMaKNjwvE
unknown sENJFZ7WbLU
EVP_PKEY_bits ssruelYxprY
SSL_do_handshake tJsbVTdWjT4
unknown tZG2VIefbX0
unknown uITUdhDDAg8
HKDF uJ2ZXq4z3As
unknown uM9UnC8KFjY
unknown uihDBp74nLI
EVP_PKEY_CTX_free ulzAPWCIBkw
tls_free uz3bWkbHZu4
unknown v1vHv4jOJxQ
unknown vLuIwBfrxrk
unknown vR0po3nBkBs
unknown vnwZHU5FvBQ
unknown vo-cv5gnPUA
unknown vu4FgwGayHY
unknown wHdymWL7CbE
unknown wNQT6Zn4UG4
X509_EXTENSION_free wbJDMMsje6s
unknown whL1IRBxFZA
unknown xBkcXV1OqWQ
unknown xVv3qlSRldc
unknown xZ1BME5qDv0
unknown xf6anoZpWRM
X509_get0_pubkey xj7cFYOV4+Y
unknown xpB+BNkO2Z0
unknown yLm956jsJpc
unknown z8fsXF8JuL0
unknown zCa75KLWWn4