1<?php 2 3/** @generate-class-entries */ 4 5/** 6 * @var string 7 * @cvalue OPENSSL_VERSION_TEXT 8 */ 9const OPENSSL_VERSION_TEXT = UNKNOWN; 10/** 11 * @var int 12 * @cvalue OPENSSL_VERSION_NUMBER 13 */ 14const OPENSSL_VERSION_NUMBER = UNKNOWN; 15 16/** 17 * @var int 18 * @cvalue X509_PURPOSE_SSL_CLIENT 19 */ 20const X509_PURPOSE_SSL_CLIENT = UNKNOWN; 21/** 22 * @var int 23 * @cvalue X509_PURPOSE_SSL_SERVER 24 */ 25const X509_PURPOSE_SSL_SERVER = UNKNOWN; 26 27/** 28 * @var int 29 * @cvalue X509_PURPOSE_NS_SSL_SERVER 30 */ 31const X509_PURPOSE_NS_SSL_SERVER = UNKNOWN; 32/** 33 * @var int 34 * @cvalue X509_PURPOSE_SMIME_SIGN 35 */ 36const X509_PURPOSE_SMIME_SIGN = UNKNOWN; 37/** 38 * @var int 39 * @cvalue X509_PURPOSE_SMIME_ENCRYPT 40 */ 41const X509_PURPOSE_SMIME_ENCRYPT = UNKNOWN; 42/** 43 * @var int 44 * @cvalue X509_PURPOSE_CRL_SIGN 45 */ 46const X509_PURPOSE_CRL_SIGN = UNKNOWN; 47#ifdef X509_PURPOSE_ANY 48/** 49 * @var int 50 * @cvalue X509_PURPOSE_ANY 51 */ 52const X509_PURPOSE_ANY = UNKNOWN; 53#endif 54 55/* digest algorithm constants */ 56 57/** 58 * @var int 59 * @cvalue OPENSSL_ALGO_SHA1 60 */ 61const OPENSSL_ALGO_SHA1 = UNKNOWN; 62/** 63 * @var int 64 * @cvalue OPENSSL_ALGO_MD5 65 */ 66const OPENSSL_ALGO_MD5 = UNKNOWN; 67#ifndef OPENSSL_NO_MD4 68/** 69 * @var int 70 * @cvalue OPENSSL_ALGO_MD4 71 */ 72const OPENSSL_ALGO_MD4 = UNKNOWN; 73#endif 74#ifndef OPENSSL_NO_MD2 75/** 76 * @var int 77 * @cvalue OPENSSL_ALGO_MD2 78 */ 79const OPENSSL_ALGO_MD2 = UNKNOWN; 80#endif 81#if PHP_OPENSSL_API_VERSION < 0x10100 82/** 83 * @var int 84 * @cvalue OPENSSL_ALGO_DSS1 85 */ 86const OPENSSL_ALGO_DSS1 = UNKNOWN; 87#endif 88 89/** 90 * @var int 91 * @cvalue OPENSSL_ALGO_SHA224 92 */ 93const OPENSSL_ALGO_SHA224 = UNKNOWN; 94/** 95 * @var int 96 * @cvalue OPENSSL_ALGO_SHA256 97 */ 98const OPENSSL_ALGO_SHA256 = UNKNOWN; 99/** 100 * @var int 101 * @cvalue OPENSSL_ALGO_SHA384 102 */ 103const OPENSSL_ALGO_SHA384 = UNKNOWN; 104/** 105 * @var int 106 * @cvalue OPENSSL_ALGO_SHA512 107 */ 108const OPENSSL_ALGO_SHA512 = UNKNOWN; 109#ifndef OPENSSL_NO_RMD160 110/** 111 * @var int 112 * @cvalue OPENSSL_ALGO_RMD160 113 */ 114const OPENSSL_ALGO_RMD160 = UNKNOWN; 115#endif 116 117/* flags for S/MIME */ 118 119/** 120 * @var int 121 * @cvalue PKCS7_DETACHED 122 */ 123const PKCS7_DETACHED = UNKNOWN; 124/** 125 * @var int 126 * @cvalue PKCS7_TEXT 127 */ 128const PKCS7_TEXT = UNKNOWN; 129/** 130 * @var int 131 * @cvalue PKCS7_NOINTERN 132 */ 133const PKCS7_NOINTERN = UNKNOWN; 134/** 135 * @var int 136 * @cvalue PKCS7_NOVERIFY 137 */ 138const PKCS7_NOVERIFY = UNKNOWN; 139/** 140 * @var int 141 * @cvalue PKCS7_NOCHAIN 142 */ 143const PKCS7_NOCHAIN = UNKNOWN; 144/** 145 * @var int 146 * @cvalue PKCS7_NOCERTS 147 */ 148const PKCS7_NOCERTS = UNKNOWN; 149/** 150 * @var int 151 * @cvalue PKCS7_NOATTR 152 */ 153const PKCS7_NOATTR = UNKNOWN; 154/** 155 * @var int 156 * @cvalue PKCS7_BINARY 157 */ 158const PKCS7_BINARY = UNKNOWN; 159/** 160 * @var int 161 * @cvalue PKCS7_NOSIGS 162 */ 163const PKCS7_NOSIGS = UNKNOWN; 164 165/** 166 * @var int 167 * @cvalue CMS_DETACHED 168 */ 169const OPENSSL_CMS_DETACHED = UNKNOWN; 170/** 171 * @var int 172 * @cvalue CMS_TEXT 173 */ 174const OPENSSL_CMS_TEXT = UNKNOWN; 175/** 176 * @var int 177 * @cvalue CMS_NOINTERN 178 */ 179const OPENSSL_CMS_NOINTERN = UNKNOWN; 180/** 181 * @var int 182 * @cvalue CMS_NOVERIFY 183 */ 184const OPENSSL_CMS_NOVERIFY = UNKNOWN; 185/** 186 * @var int 187 * @cvalue CMS_NOCERTS 188 */ 189const OPENSSL_CMS_NOCERTS = UNKNOWN; 190/** 191 * @var int 192 * @cvalue CMS_NOATTR 193 */ 194const OPENSSL_CMS_NOATTR = UNKNOWN; 195/** 196 * @var int 197 * @cvalue CMS_BINARY 198 */ 199const OPENSSL_CMS_BINARY = UNKNOWN; 200/** 201 * @var int 202 * @cvalue CMS_NOSIGS 203 */ 204const OPENSSL_CMS_NOSIGS = UNKNOWN; 205 206/** 207 * @var int 208 * @cvalue RSA_PKCS1_PADDING 209 */ 210const OPENSSL_PKCS1_PADDING = UNKNOWN; 211#ifdef RSA_SSLV23_PADDING 212/** 213 * @var int 214 * @cvalue RSA_SSLV23_PADDING 215 */ 216const OPENSSL_SSLV23_PADDING = UNKNOWN; 217#endif 218 219/** 220 * @var int 221 * @cvalue RSA_NO_PADDING 222 */ 223const OPENSSL_NO_PADDING = UNKNOWN; 224/** 225 * @var int 226 * @cvalue RSA_PKCS1_OAEP_PADDING 227 */ 228const OPENSSL_PKCS1_OAEP_PADDING = UNKNOWN; 229 230/* Informational stream wrapper constants */ 231 232/** 233 * @var string 234 * @cvalue OPENSSL_DEFAULT_STREAM_CIPHERS 235 */ 236const OPENSSL_DEFAULT_STREAM_CIPHERS = UNKNOWN; 237 238/* Ciphers */ 239 240#ifndef OPENSSL_NO_RC2 241/** 242 * @var int 243 * @cvalue PHP_OPENSSL_CIPHER_RC2_40 244 */ 245const OPENSSL_CIPHER_RC2_40 = UNKNOWN; 246/** 247 * @var int 248 * @cvalue PHP_OPENSSL_CIPHER_RC2_128 249 */ 250const OPENSSL_CIPHER_RC2_128 = UNKNOWN; 251/** 252 * @var int 253 * @cvalue PHP_OPENSSL_CIPHER_RC2_64 254 */ 255const OPENSSL_CIPHER_RC2_64 = UNKNOWN; 256#endif 257 258#ifndef OPENSSL_NO_DES 259/** 260 * @var int 261 * @cvalue PHP_OPENSSL_CIPHER_DES 262 */ 263const OPENSSL_CIPHER_DES = UNKNOWN; 264/** 265 * @var int 266 * @cvalue PHP_OPENSSL_CIPHER_3DES 267 */ 268const OPENSSL_CIPHER_3DES = UNKNOWN; 269#endif 270 271#ifndef OPENSSL_NO_AES 272/** 273 * @var int 274 * @cvalue PHP_OPENSSL_CIPHER_AES_128_CBC 275 */ 276const OPENSSL_CIPHER_AES_128_CBC = UNKNOWN; 277/** 278 * @var int 279 * @cvalue PHP_OPENSSL_CIPHER_AES_192_CBC 280 */ 281const OPENSSL_CIPHER_AES_192_CBC = UNKNOWN; 282/** 283 * @var int 284 * @cvalue PHP_OPENSSL_CIPHER_AES_256_CBC 285 */ 286const OPENSSL_CIPHER_AES_256_CBC = UNKNOWN; 287#endif 288 289/* Values for key types */ 290 291/** 292 * @var int 293 * @cvalue OPENSSL_KEYTYPE_RSA 294 */ 295const OPENSSL_KEYTYPE_RSA = UNKNOWN; 296#ifndef OPENSSL_NO_DSA 297/** 298 * @var int 299 * @cvalue OPENSSL_KEYTYPE_DSA 300 */ 301const OPENSSL_KEYTYPE_DSA = UNKNOWN; 302#endif 303 304/** 305 * @var int 306 * @cvalue OPENSSL_KEYTYPE_DH 307 */ 308const OPENSSL_KEYTYPE_DH = UNKNOWN; 309#ifdef HAVE_EVP_PKEY_EC 310/** 311 * @var int 312 * @cvalue OPENSSL_KEYTYPE_EC 313 */ 314const OPENSSL_KEYTYPE_EC = UNKNOWN; 315#endif 316 317/** 318 * @var int 319 * @cvalue OPENSSL_RAW_DATA 320 */ 321const OPENSSL_RAW_DATA = UNKNOWN; 322/** 323 * @var int 324 * @cvalue OPENSSL_ZERO_PADDING 325 */ 326const OPENSSL_ZERO_PADDING = UNKNOWN; 327/** 328 * @var int 329 * @cvalue OPENSSL_DONT_ZERO_PAD_KEY 330 */ 331const OPENSSL_DONT_ZERO_PAD_KEY = UNKNOWN; 332 333#ifndef OPENSSL_NO_TLSEXT 334/** @var int */ 335const OPENSSL_TLSEXT_SERVER_NAME = 1; 336#endif 337 338/* Register encodings */ 339 340/** 341 * @var int 342 * @cvalue ENCODING_DER 343 */ 344const OPENSSL_ENCODING_DER = UNKNOWN; 345/** 346 * @var int 347 * @cvalue ENCODING_SMIME 348 */ 349const OPENSSL_ENCODING_SMIME = UNKNOWN; 350/** 351 * @var int 352 * @cvalue ENCODING_PEM 353 */ 354const OPENSSL_ENCODING_PEM = UNKNOWN; 355 356 357/** 358 * @strict-properties 359 * @not-serializable 360 */ 361final class OpenSSLCertificate 362{ 363} 364 365/** 366 * @strict-properties 367 * @not-serializable 368 */ 369final class OpenSSLCertificateSigningRequest 370{ 371} 372 373/** 374 * @strict-properties 375 * @not-serializable 376 */ 377final class OpenSSLAsymmetricKey 378{ 379} 380 381function openssl_x509_export_to_file(OpenSSLCertificate|string $certificate, string $output_filename, bool $no_text = true): bool {} 382 383/** @param string $output */ 384function openssl_x509_export(OpenSSLCertificate|string $certificate, &$output, bool $no_text = true): bool {} 385 386function openssl_x509_fingerprint(OpenSSLCertificate|string $certificate, string $digest_algo = "sha1", bool $binary = false): string|false {} 387 388/** 389 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 390 */ 391function openssl_x509_check_private_key(OpenSSLCertificate|string $certificate, #[\SensitiveParameter] $private_key): bool {} 392 393/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key */ 394function openssl_x509_verify(OpenSSLCertificate|string $certificate, $public_key): int {} 395 396/** 397 * @return array<string, int|string|array>|false 398 * @refcount 1 399 */ 400function openssl_x509_parse(OpenSSLCertificate|string $certificate, bool $short_names = true): array|false {} 401 402function openssl_x509_checkpurpose(OpenSSLCertificate|string $certificate, int $purpose, array $ca_info = [], ?string $untrusted_certificates_file = null): bool|int {} 403 404function openssl_x509_read(OpenSSLCertificate|string $certificate): OpenSSLCertificate|false {} 405 406/** @deprecated */ 407function openssl_x509_free(OpenSSLCertificate $certificate): void {} 408 409/** 410 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 411 */ 412function openssl_pkcs12_export_to_file(OpenSSLCertificate|string $certificate, string $output_filename, #[\SensitiveParameter] $private_key, #[\SensitiveParameter] string $passphrase, array $options = []): bool {} 413 414/** 415 * @param string $output 416 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 417 */ 418function openssl_pkcs12_export(OpenSSLCertificate|string $certificate, &$output, #[\SensitiveParameter] $private_key, #[\SensitiveParameter] string $passphrase, array $options = []): bool {} 419 420/** 421 * @param array $certificates 422 */ 423function openssl_pkcs12_read(string $pkcs12, &$certificates, #[\SensitiveParameter] string $passphrase): bool {} 424 425function openssl_csr_export_to_file(OpenSSLCertificateSigningRequest|string $csr, string $output_filename, bool $no_text = true): bool {} 426 427/** @param string $output */ 428function openssl_csr_export(OpenSSLCertificateSigningRequest|string $csr, &$output, bool $no_text = true): bool {} 429 430/** 431 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 432 */ 433function openssl_csr_sign(OpenSSLCertificateSigningRequest|string $csr, OpenSSLCertificate|string|null $ca_certificate, #[\SensitiveParameter] $private_key, int $days, ?array $options = null, int $serial = 0): OpenSSLCertificate|false {} 434 435/** 436 * @param OpenSSLAsymmetricKey|null $private_key 437 */ 438function openssl_csr_new(array $distinguished_names, #[\SensitiveParameter] &$private_key, ?array $options = null, ?array $extra_attributes = null): OpenSSLCertificateSigningRequest|bool {} 439 440/** 441 * @return array<string, string|array>|false 442 * @refcount 1 443 */ 444function openssl_csr_get_subject(OpenSSLCertificateSigningRequest|string $csr, bool $short_names = true): array|false {} 445 446function openssl_csr_get_public_key(OpenSSLCertificateSigningRequest|string $csr, bool $short_names = true): OpenSSLAsymmetricKey|false {} 447 448function openssl_pkey_new(?array $options = null): OpenSSLAsymmetricKey|false {} 449 450/** 451 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key 452 */ 453function openssl_pkey_export_to_file(#[\SensitiveParameter] $key, string $output_filename, #[\SensitiveParameter] ?string $passphrase = null, ?array $options = null): bool {} 454 455/** 456 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key 457 * @param string $output 458 */ 459function openssl_pkey_export(#[\SensitiveParameter] $key, &$output, #[\SensitiveParameter] ?string $passphrase = null, ?array $options = null): bool {} 460 461/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key */ 462function openssl_pkey_get_public($public_key): OpenSSLAsymmetricKey|false {} 463 464/** 465 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key 466 * @alias openssl_pkey_get_public 467 */ 468function openssl_get_publickey($public_key): OpenSSLAsymmetricKey|false {} 469 470/** 471 * @deprecated 472 */ 473function openssl_pkey_free(OpenSSLAsymmetricKey $key): void {} 474 475/** 476 * @alias openssl_pkey_free 477 * @deprecated 478 */ 479function openssl_free_key(OpenSSLAsymmetricKey $key): void {} 480 481/** 482 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 483 */ 484function openssl_pkey_get_private(#[\SensitiveParameter] $private_key, #[\SensitiveParameter] ?string $passphrase = null): OpenSSLAsymmetricKey|false {} 485 486/** 487 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 488 * @alias openssl_pkey_get_private 489 */ 490function openssl_get_privatekey(#[\SensitiveParameter] $private_key, #[\SensitiveParameter] ?string $passphrase = null): OpenSSLAsymmetricKey|false {} 491 492/** 493 * @return array<string, int|string|array>|false 494 * @refcount 1 495 */ 496function openssl_pkey_get_details(OpenSSLAsymmetricKey $key): array|false {} 497 498function openssl_pbkdf2(#[\SensitiveParameter] string $password, string $salt, int $key_length, int $iterations, string $digest_algo = "sha1"): string|false {} 499 500function openssl_pkcs7_verify(string $input_filename, int $flags, ?string $signers_certificates_filename = null, array $ca_info = [], ?string $untrusted_certificates_filename = null, ?string $content = null, ?string $output_filename = null): bool|int {} 501 502/** @param OpenSSLCertificate|array|string $certificate */ 503function openssl_pkcs7_encrypt(string $input_filename, string $output_filename, $certificate, ?array $headers, int $flags = 0, int $cipher_algo = OPENSSL_CIPHER_AES_128_CBC): bool {} 504 505/** 506 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 507 */ 508function openssl_pkcs7_sign(string $input_filename, string $output_filename, OpenSSLCertificate|string $certificate, #[\SensitiveParameter] $private_key, ?array $headers, int $flags = PKCS7_DETACHED, ?string $untrusted_certificates_filename = null): bool {} 509 510/** 511 * @param OpenSSLCertificate|string $certificate 512 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key 513 */ 514function openssl_pkcs7_decrypt(string $input_filename, string $output_filename, #[\SensitiveParameter] $certificate, #[\SensitiveParameter] $private_key = null): bool {} 515 516/** @param array $certificates */ 517function openssl_pkcs7_read(string $data, &$certificates): bool {} 518 519function openssl_cms_verify(string $input_filename, int $flags = 0, ?string $certificates = null, array $ca_info = [], ?string $untrusted_certificates_filename = null, ?string $content = null, ?string $pk7 = null, ?string $sigfile = null, int $encoding = OPENSSL_ENCODING_SMIME): bool {} 520 521/** @param OpenSSLCertificate|array|string $certificate */ 522function openssl_cms_encrypt(string $input_filename, string $output_filename, $certificate, ?array $headers, int $flags = 0, int $encoding = OPENSSL_ENCODING_SMIME, int $cipher_algo = OPENSSL_CIPHER_AES_128_CBC): bool {} 523 524/** 525 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 526 */ 527function openssl_cms_sign(string $input_filename, string $output_filename, OpenSSLCertificate|string $certificate, #[\SensitiveParameter] $private_key, ?array $headers, int $flags = 0, int $encoding = OPENSSL_ENCODING_SMIME, ?string $untrusted_certificates_filename = null): bool {} 528 529/** 530 * @param OpenSSLCertificate|string $certificate 531 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key 532 */ 533function openssl_cms_decrypt(string $input_filename, string $output_filename, #[\SensitiveParameter] $certificate, #[\SensitiveParameter] $private_key = null, int $encoding = OPENSSL_ENCODING_SMIME): bool {} 534 535/** @param array $certificates */ 536function openssl_cms_read(string $input_filename, &$certificates): bool {} 537 538/** 539 * @param string $encrypted_data 540 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 541 */ 542function openssl_private_encrypt(#[\SensitiveParameter] string $data, &$encrypted_data, #[\SensitiveParameter] $private_key, int $padding = OPENSSL_PKCS1_PADDING): bool {} 543 544/** 545 * @param string $decrypted_data 546 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 547 */ 548function openssl_private_decrypt(string $data, #[\SensitiveParameter] &$decrypted_data, #[\SensitiveParameter] $private_key, int $padding = OPENSSL_PKCS1_PADDING): bool {} 549 550/** 551 * @param string $encrypted_data 552 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key 553 */ 554function openssl_public_encrypt(#[\SensitiveParameter] string $data, &$encrypted_data, $public_key, int $padding = OPENSSL_PKCS1_PADDING): bool {} 555 556/** 557 * @param string $decrypted_data 558 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key 559 */ 560function openssl_public_decrypt(string $data, #[\SensitiveParameter] &$decrypted_data, $public_key, int $padding = OPENSSL_PKCS1_PADDING): bool {} 561 562function openssl_error_string(): string|false {} 563 564/** 565 * @param string $signature 566 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 567 */ 568function openssl_sign(string $data, &$signature, #[\SensitiveParameter] $private_key, string|int $algorithm = OPENSSL_ALGO_SHA1): bool {} 569 570/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key */ 571function openssl_verify(string $data, string $signature, $public_key, string|int $algorithm = OPENSSL_ALGO_SHA1): int|false {} 572 573/** 574 * @param string $sealed_data 575 * @param array $encrypted_keys 576 * @param string $iv 577 */ 578function openssl_seal(#[\SensitiveParameter] string $data, &$sealed_data, &$encrypted_keys, array $public_key, string $cipher_algo, &$iv = null): int|false {} 579 580/** 581 * @param string $output 582 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 583 */ 584function openssl_open(string $data, #[\SensitiveParameter] &$output, string $encrypted_key, #[\SensitiveParameter] $private_key, string $cipher_algo, ?string $iv = null): bool {} 585 586/** 587 * @return array<int, string> 588 * @refcount 1 589 */ 590function openssl_get_md_methods(bool $aliases = false): array {} 591 592/** 593 * @return array<int, string> 594 * @refcount 1 595 */ 596function openssl_get_cipher_methods(bool $aliases = false): array {} 597 598#ifdef HAVE_EVP_PKEY_EC 599/** 600 * @return array<int, string>|false 601 * @refcount 1 602 */ 603function openssl_get_curve_names(): array|false {} 604#endif 605 606function openssl_digest(string $data, string $digest_algo, bool $binary = false): string|false {} 607 608/** 609 * @param string $tag 610 */ 611function openssl_encrypt(#[\SensitiveParameter] string $data, string $cipher_algo, #[\SensitiveParameter] string $passphrase, int $options = 0, string $iv = "", &$tag = null, string $aad = "", int $tag_length = 16): string|false {} 612 613function openssl_decrypt(string $data, string $cipher_algo, #[\SensitiveParameter] string $passphrase, int $options = 0, string $iv = "", ?string $tag = null, string $aad = ""): string|false {} 614 615function openssl_cipher_iv_length(string $cipher_algo): int|false {} 616 617function openssl_cipher_key_length(string $cipher_algo): int|false {} 618 619function openssl_dh_compute_key(string $public_key, #[\SensitiveParameter] OpenSSLAsymmetricKey $private_key): string|false {} 620 621/** 622 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key 623 * @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key 624 */ 625function openssl_pkey_derive($public_key, #[\SensitiveParameter] $private_key, int $key_length = 0): string|false {} 626 627/** @param bool $strong_result */ 628function openssl_random_pseudo_bytes(int $length, &$strong_result = null): string {} 629 630function openssl_spki_new(#[\SensitiveParameter] OpenSSLAsymmetricKey $private_key, string $challenge, int $digest_algo = OPENSSL_ALGO_MD5): string|false {} 631 632function openssl_spki_verify(string $spki): bool {} 633 634function openssl_spki_export(string $spki): string|false {} 635 636function openssl_spki_export_challenge(string $spki): string|false {} 637 638/** 639 * @return array<string, string> 640 * @refcount 1 641 */ 642function openssl_get_cert_locations(): array {} 643