Support the actual #[\SensitiveParameter] attribute in stubs (#8836)

This commit is contained in:
Tim Düsterhus 2022-07-12 12:43:44 +02:00 committed by GitHub
parent f22e0df033
commit 342e18f105
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 752 additions and 502 deletions

View file

@ -35,9 +35,8 @@ function openssl_x509_fingerprint(OpenSSLCertificate|string $certificate, string
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
*/
function openssl_x509_check_private_key(OpenSSLCertificate|string $certificate, $private_key): bool {}
function openssl_x509_check_private_key(OpenSSLCertificate|string $certificate, #[\SensitiveParameter] $private_key): bool {}
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key */
function openssl_x509_verify(OpenSSLCertificate|string $certificate, $public_key): int {}
@ -57,24 +56,19 @@ function openssl_x509_free(OpenSSLCertificate $certificate): void {}
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
* @sensitive-param $passphrase
*/
function openssl_pkcs12_export_to_file(OpenSSLCertificate|string $certificate, string $output_filename, $private_key, string $passphrase, array $options = []): bool {}
function openssl_pkcs12_export_to_file(OpenSSLCertificate|string $certificate, string $output_filename, #[\SensitiveParameter] $private_key, #[\SensitiveParameter] string $passphrase, array $options = []): bool {}
/**
* @param string $output
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
* @sensitive-param $passphrase
*/
function openssl_pkcs12_export(OpenSSLCertificate|string $certificate, &$output, $private_key, string $passphrase, array $options = []): bool {}
function openssl_pkcs12_export(OpenSSLCertificate|string $certificate, &$output, #[\SensitiveParameter] $private_key, #[\SensitiveParameter] string $passphrase, array $options = []): bool {}
/**
* @param array $certificates
* @sensitive-param $passphrase
*/
function openssl_pkcs12_read(string $pkcs12, &$certificates, string $passphrase): bool {}
function openssl_pkcs12_read(string $pkcs12, &$certificates, #[\SensitiveParameter] string $passphrase): bool {}
function openssl_csr_export_to_file(OpenSSLCertificateSigningRequest|string $csr, string $output_filename, bool $no_text = true): bool {}
@ -83,15 +77,13 @@ function openssl_csr_export(OpenSSLCertificateSigningRequest|string $csr, &$outp
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
*/
function openssl_csr_sign(OpenSSLCertificateSigningRequest|string $csr, OpenSSLCertificate|string|null $ca_certificate, $private_key, int $days, ?array $options = null, int $serial = 0): OpenSSLCertificate|false {}
function openssl_csr_sign(OpenSSLCertificateSigningRequest|string $csr, OpenSSLCertificate|string|null $ca_certificate, #[\SensitiveParameter] $private_key, int $days, ?array $options = null, int $serial = 0): OpenSSLCertificate|false {}
/**
* @param OpenSSLAsymmetricKey $private_key
* @sensitive-param $private_key
*/
function openssl_csr_new(array $distinguished_names, &$private_key, ?array $options = null, ?array $extra_attributes = null): OpenSSLCertificateSigningRequest|false {}
function openssl_csr_new(array $distinguished_names, #[\SensitiveParameter] &$private_key, ?array $options = null, ?array $extra_attributes = null): OpenSSLCertificateSigningRequest|false {}
/**
* @return array<string, string|array>|false
@ -105,18 +97,14 @@ function openssl_pkey_new(?array $options = null): OpenSSLAsymmetricKey|false {}
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
* @sensitive-param $key
* @sensitive-param $passphrase
*/
function openssl_pkey_export_to_file($key, string $output_filename, ?string $passphrase = null, ?array $options = null): bool {}
function openssl_pkey_export_to_file(#[\SensitiveParameter] $key, string $output_filename, #[\SensitiveParameter] ?string $passphrase = null, ?array $options = null): bool {}
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $key
* @param string $output
* @sensitive-param $key
* @sensitive-param $passphrase
*/
function openssl_pkey_export($key, &$output, ?string $passphrase = null, ?array $options = null): bool {}
function openssl_pkey_export(#[\SensitiveParameter] $key, &$output, #[\SensitiveParameter] ?string $passphrase = null, ?array $options = null): bool {}
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key */
function openssl_pkey_get_public($public_key): OpenSSLAsymmetricKey|false {}
@ -140,18 +128,14 @@ function openssl_free_key(OpenSSLAsymmetricKey $key): void {}
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
* @sensitive-param $passphrase
*/
function openssl_pkey_get_private($private_key, ?string $passphrase = null): OpenSSLAsymmetricKey|false {}
function openssl_pkey_get_private(#[\SensitiveParameter] $private_key, #[\SensitiveParameter] ?string $passphrase = null): OpenSSLAsymmetricKey|false {}
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
* @sensitive-param $passphrase
* @alias openssl_pkey_get_private
*/
function openssl_get_privatekey($private_key, ?string $passphrase = null): OpenSSLAsymmetricKey|false {}
function openssl_get_privatekey(#[\SensitiveParameter] $private_key, #[\SensitiveParameter] ?string $passphrase = null): OpenSSLAsymmetricKey|false {}
/**
* @return array<string, int|string|array>|false
@ -159,8 +143,7 @@ function openssl_get_privatekey($private_key, ?string $passphrase = null): OpenS
*/
function openssl_pkey_get_details(OpenSSLAsymmetricKey $key): array|false {}
/** @sensitive-param $password */
function openssl_pbkdf2(string $password, string $salt, int $key_length, int $iterations, string $digest_algo = "sha1"): string|false {}
function openssl_pbkdf2(#[\SensitiveParameter] string $password, string $salt, int $key_length, int $iterations, string $digest_algo = "sha1"): string|false {}
function 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 {}
@ -169,17 +152,14 @@ function openssl_pkcs7_encrypt(string $input_filename, string $output_filename,
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
*/
function openssl_pkcs7_sign(string $input_filename, string $output_filename, OpenSSLCertificate|string $certificate, $private_key, ?array $headers, int $flags = PKCS7_DETACHED, ?string $untrusted_certificates_filename = null): bool {}
function 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 {}
/**
* @param OpenSSLCertificate|string $certificate
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key
* @sensitive-param $certificate
* @sensitive-param $private_key
*/
function openssl_pkcs7_decrypt(string $input_filename, string $output_filename, $certificate, $private_key = null): bool {}
function openssl_pkcs7_decrypt(string $input_filename, string $output_filename, #[\SensitiveParameter] $certificate, #[\SensitiveParameter] $private_key = null): bool {}
/** @param array $certificates */
function openssl_pkcs7_read(string $data, &$certificates): bool {}
@ -191,17 +171,14 @@ function openssl_cms_encrypt(string $input_filename, string $output_filename, $c
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
*/
function openssl_cms_sign(string $input_filename, string $output_filename, OpenSSLCertificate|string $certificate, $private_key, ?array $headers, int $flags = 0, int $encoding = OPENSSL_ENCODING_SMIME, ?string $untrusted_certificates_filename = null): bool {}
function 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 {}
/**
* @param OpenSSLCertificate|string $certificate
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string|null $private_key
* @sensitive-param $certificate
* @sensitive-param $private_key
*/
function openssl_cms_decrypt(string $input_filename, string $output_filename, $certificate, $private_key = null, int $encoding = OPENSSL_ENCODING_SMIME): bool {}
function openssl_cms_decrypt(string $input_filename, string $output_filename, #[\SensitiveParameter] $certificate, #[\SensitiveParameter] $private_key = null, int $encoding = OPENSSL_ENCODING_SMIME): bool {}
/** @param array $certificates */
function openssl_cms_read(string $input_filename, &$certificates): bool {}
@ -209,41 +186,34 @@ function openssl_cms_read(string $input_filename, &$certificates): bool {}
/**
* @param string $encrypted_data
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $data
* @sensitive-param $private_key
*/
function openssl_private_encrypt(string $data, &$encrypted_data, $private_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
function openssl_private_encrypt(#[\SensitiveParameter] string $data, &$encrypted_data, #[\SensitiveParameter] $private_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
/**
* @param string $decrypted_data
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $decrypted_data
* @sensitive-param $private_key
*/
function openssl_private_decrypt(string $data, &$decrypted_data, $private_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
function openssl_private_decrypt(string $data, #[\SensitiveParameter] &$decrypted_data, #[\SensitiveParameter] $private_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
/**
* @param string $encrypted_data
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key
* @sensitive-param $data
*/
function openssl_public_encrypt(string $data, &$encrypted_data, $public_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
function openssl_public_encrypt(#[\SensitiveParameter] string $data, &$encrypted_data, $public_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
/**
* @param string $decrypted_data
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key
* @sensitive-param $decrypted_data
*/
function openssl_public_decrypt(string $data, &$decrypted_data, $public_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
function openssl_public_decrypt(string $data, #[\SensitiveParameter] &$decrypted_data, $public_key, int $padding = OPENSSL_PKCS1_PADDING): bool {}
function openssl_error_string(): string|false {}
/**
* @param string $signature
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
*/
function openssl_sign(string $data, &$signature, $private_key, string|int $algorithm = OPENSSL_ALGO_SHA1): bool {}
function openssl_sign(string $data, &$signature, #[\SensitiveParameter] $private_key, string|int $algorithm = OPENSSL_ALGO_SHA1): bool {}
/** @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key */
function openssl_verify(string $data, string $signature, $public_key, string|int $algorithm = OPENSSL_ALGO_SHA1): int|false {}
@ -252,17 +222,14 @@ function openssl_verify(string $data, string $signature, $public_key, string|int
* @param string $sealed_data
* @param array $encrypted_keys
* @param string $iv
* @sensitive-param $data
*/
function openssl_seal(string $data, &$sealed_data, &$encrypted_keys, array $public_key, string $cipher_algo, &$iv = null): int|false {}
function openssl_seal(#[\SensitiveParameter] string $data, &$sealed_data, &$encrypted_keys, array $public_key, string $cipher_algo, &$iv = null): int|false {}
/**
* @param string $output
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $output
* @sensitive-param $private_key
*/
function openssl_open(string $data, &$output, string $encrypted_key, $private_key, string $cipher_algo, ?string $iv = null): bool {}
function openssl_open(string $data, #[\SensitiveParameter] &$output, string $encrypted_key, #[\SensitiveParameter] $private_key, string $cipher_algo, ?string $iv = null): bool {}
/**
* @return array<int, string>
@ -288,33 +255,25 @@ function openssl_digest(string $data, string $digest_algo, bool $binary = false)
/**
* @param string $tag
* @sensitive-param $data
* @sensitive-param $passphrase
*/
function openssl_encrypt(string $data, string $cipher_algo, string $passphrase, int $options = 0, string $iv = "", &$tag = null, string $aad = "", int $tag_length = 16): string|false {}
function 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 {}
/**
* @sensitive-param $passphrase
*/
function openssl_decrypt(string $data, string $cipher_algo, string $passphrase, int $options = 0, string $iv = "", ?string $tag = null, string $aad = ""): string|false {}
function openssl_decrypt(string $data, string $cipher_algo, #[\SensitiveParameter] string $passphrase, int $options = 0, string $iv = "", ?string $tag = null, string $aad = ""): string|false {}
function openssl_cipher_iv_length(string $cipher_algo): int|false {}
/** @sensitive-param $private_key */
function openssl_dh_compute_key(string $public_key, OpenSSLAsymmetricKey $private_key): string|false {}
function openssl_dh_compute_key(string $public_key, #[\SensitiveParameter] OpenSSLAsymmetricKey $private_key): string|false {}
/**
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $public_key
* @param OpenSSLAsymmetricKey|OpenSSLCertificate|array|string $private_key
* @sensitive-param $private_key
*/
function openssl_pkey_derive($public_key, $private_key, int $key_length = 0): string|false {}
function openssl_pkey_derive($public_key, #[\SensitiveParameter] $private_key, int $key_length = 0): string|false {}
/** @param bool $strong_result */
function openssl_random_pseudo_bytes(int $length, &$strong_result = null): string {}
/** @sensitive-param $private_key */
function openssl_spki_new(OpenSSLAsymmetricKey $private_key, string $challenge, int $digest_algo = OPENSSL_ALGO_MD5): string|false {}
function openssl_spki_new(#[\SensitiveParameter] OpenSSLAsymmetricKey $private_key, string $challenge, int $digest_algo = OPENSSL_ALGO_MD5): string|false {}
function openssl_spki_verify(string $spki): bool {}