HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/opt/nydus/ops/oscrypto/_win/__pycache__/_cng.cpython-39.pyc
a

�,�h��@s�ddlmZmZmZmZddlmZddlmZm	Z	m
Z
e�dkrPddlmZnddl
mZgd�Zdd	d
�Zdd�Zd
d�ZGdd�d�ZdS)�)�unicode_literals�division�absolute_import�print_function�)�ffi)�new�null�unwrapZcffi�)�bcrypt)r�BcryptConst�close_alg_handle�handle_error�open_alg_handlecCs,ttd�}t�||t�|�}t|�t|�S)NzBCRYPT_ALG_HANDLE *)rrZBCryptOpenAlgorithmProviderr	rr
)Zconstant�flagsZhandle_pointer�res�r�C/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/oscrypto/_win/_cng.pyrs
rcCst�|d�}t|�dS)Nr)rZBCryptCloseAlgorithmProviderr)�handlerrrrrsrcCst|dkrdStjdtjdtjdtjdtjdtjdtjd	tjd
i}d|}|durh||vrh|d||7}t	|��dS)
z�
    Extracts the last Windows error message into a python unicode string

    :param error_num:
        The number to get the error string for

    :return:
        A unicode string error message
    rNzThe object was not foundz8An invalid parameter was passed to a service or functionz_Not enough virtual memory or paging file quota is available to complete the specified operationzAn invalid HANDLE was specifiedz&The cryptographic signature is invalidzThe request is not supportedz,The buffer is too small to contain the entryz=The size of the buffer is invalid for the specified operationzNTSTATUS error 0x%0.2Xz: )
r
�STATUS_NOT_FOUND�STATUS_INVALID_PARAMETER�STATUS_NO_MEMORY�STATUS_INVALID_HANDLE�STATUS_INVALID_SIGNATURE�STATUS_NOT_SUPPORTED�STATUS_BUFFER_TOO_SMALL�STATUS_INVALID_BUFFER_SIZE�OSError)Z	error_num�messages�outputrrrr#s �
rc@seZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZ
dZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'd#Z(d$Z)dZ*d%Z+dZ,d&Z-dZ.d'Z/d(Z0d)Z1d*Z2d+Z3d,Z4d-Z5d.Z6d/Z7d0Z8d1Z9d2Z:d3Z;d4Z<d5Z=d6Z>dZ?dZ@d7S)8r
ZRNGZ	KeyLengthZEffectiveKeyLengthZRSAPRIVATEBLOBZRSAFULLPRIVATEBLOBZ
RSAPUBLICBLOBZDSAPRIVATEBLOBZ
DSAPUBLICBLOBZECCPRIVATEBLOBZ
ECCPUBLICBLOBiRSA1iRSA2iRSA3iDSPBiDSPViDPB2iDPV2rrr�iECS1iECS2iECS3iECS4iECS5iECS6l%l
lll l�l#liKDBMZKeyDataBlob�Z3DESZ3DES_112�AESZDESZRC2ZRC4ZDSAZ
ECDSA_P256Z
ECDSA_P384Z
ECDSA_P521ZRSA�MD5�SHA1�SHA256�SHA384�SHA512N)A�__name__�
__module__�__qualname__ZBCRYPT_RNG_ALGORITHMZBCRYPT_KEY_LENGTHZBCRYPT_EFFECTIVE_KEY_LENGTHZBCRYPT_RSAPRIVATE_BLOBZBCRYPT_RSAFULLPRIVATE_BLOBZBCRYPT_RSAPUBLIC_BLOBZBCRYPT_DSA_PRIVATE_BLOBZBCRYPT_DSA_PUBLIC_BLOBZBCRYPT_ECCPRIVATE_BLOBZBCRYPT_ECCPUBLIC_BLOBZBCRYPT_RSAPUBLIC_MAGICZBCRYPT_RSAPRIVATE_MAGICZBCRYPT_RSAFULLPRIVATE_MAGICZBCRYPT_DSA_PUBLIC_MAGICZBCRYPT_DSA_PRIVATE_MAGICZBCRYPT_DSA_PUBLIC_MAGIC_V2ZBCRYPT_DSA_PRIVATE_MAGIC_V2ZDSA_HASH_ALGORITHM_SHA1ZDSA_HASH_ALGORITHM_SHA256ZDSA_HASH_ALGORITHM_SHA512Z
DSA_FIPS186_2Z
DSA_FIPS186_3ZBCRYPT_NO_KEY_VALIDATIONZBCRYPT_ECDSA_PUBLIC_P256_MAGICZBCRYPT_ECDSA_PRIVATE_P256_MAGICZBCRYPT_ECDSA_PUBLIC_P384_MAGICZBCRYPT_ECDSA_PRIVATE_P384_MAGICZBCRYPT_ECDSA_PUBLIC_P521_MAGICZBCRYPT_ECDSA_PRIVATE_P521_MAGICZSTATUS_SUCCESSrrrrrrrrZBCRYPT_KEY_DATA_BLOB_MAGICZBCRYPT_KEY_DATA_BLOB_VERSION1ZBCRYPT_KEY_DATA_BLOBZBCRYPT_PAD_PKCS1ZBCRYPT_PAD_OAEPZBCRYPT_PAD_PSSZBCRYPT_3DES_ALGORITHMZBCRYPT_3DES_112_ALGORITHMZBCRYPT_AES_ALGORITHMZBCRYPT_DES_ALGORITHMZBCRYPT_RC2_ALGORITHMZBCRYPT_RC4_ALGORITHMZBCRYPT_DSA_ALGORITHMZBCRYPT_ECDSA_P256_ALGORITHMZBCRYPT_ECDSA_P384_ALGORITHMZBCRYPT_ECDSA_P521_ALGORITHMZBCRYPT_RSA_ALGORITHMZBCRYPT_MD5_ALGORITHMZBCRYPT_SHA1_ALGORITHMZBCRYPT_SHA256_ALGORITHMZBCRYPT_SHA384_ALGORITHMZBCRYPT_SHA512_ALGORITHMZBCRYPT_ALG_HANDLE_HMAC_FLAGZBCRYPT_BLOCK_PADDINGrrrrr
Fs|r
N)r)�
__future__rrrr�rZ_ffirr	r
Z	_cng_cffirZ_cng_ctypes�__all__rrrr
rrrr�<module>s
	
#