Compartir a través de


StrongNameGetPublicKeyEx (Método)

Obtiene la clave pública de un par de claves pública y privada, y especifica un algoritmo hash y un algoritmo de firma.

Sintaxis

HRESULT StrongNameGetPublicKey (
    [in]  LPCWSTR   pwzKeyContainer,  
    [in]  BYTE      *pbKeyBlob,  
    [in]  ULONG     cbKeyBlob,  
    [out] BYTE      **ppbPublicKeyBlob,  
    [out] ULONG     *pcbPublicKeyBlob  
    [in]  ULONG     uHashAlgId,  
    [in]  ULONG     uReserved,  
);  

Parámetros

pwzKeyContainer
[in] Nombre del contenedor de claves que contiene el nombre del par de claves pública y privada. Si pbKeyBlob es null, szKeyContainer debe especificar un contenedor válido dentro del proveedor de servicios criptográficos (CSP). En este caso, el método StrongNameGetPublicKeyEx extrae la clave pública del par de claves almacenado en el contenedor.

Si pbKeyBlob no es null, se supone que el par de claves está incluido en el objeto binario grande (BLOB) de clave.

Las claves deben ser claves de firma Rivest-Shamir-Adleman (RSA) de 1024 bits. En este momento no se admite ningún otro tipo de claves.

pbKeyBlob
[in] Puntero al par de claves pública y privada. Este par tiene el formato que crea la función CryptExportKey de Win32. Si pbKeyBlob es null, se supone que el contenedor de claves especificado por szKeyContainer contiene el par de claves.

cbKeyBlob
[in] Tamaño en bytes de pbKeyBlob.

ppbPublicKeyBlob
[out] Blob devuelto de clave pública. Common Language Runtime asigna el parámetro ppbPublicKeyBlob y se devuelve al autor de la llamada. El autor de la llamada deberá liberar la memoria mediante el método ICLRStrongName::StrongNameFreeBuffer.

pcbPublicKeyBlob
[out] Tamaño del blob devuelto de clave pública.

uHashAlgId
[in] Algoritmo hash de ensamblado. Consulte la sección Comentarios para ver la lista de valores aceptados.

uReserved
[in] Reservado para uso futuro; el valor predeterminado es NULL.

Valor devuelto

Se devolverá el valor S_OK si el método se completa correctamente; de lo contrario, se devolverá un valor HRESULT que se corresponderá con un error (vea Valores HRESULT comunes para obtener una lista).

Comentarios

La clave pública se incluye en una estructura PublicKeyBlob.

En la tabla siguiente se muestra el conjunto de valores aceptados para el parámetro uHashAlgId.

Nombre Value
None 0
SHA-1 0x8004
SHA-256 0x800c
SHA-384 0x800d
SHA-512 0x800e

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: MetaHost.h

Biblioteca: incluida como recurso en MSCorEE.dll

Versiones de .NET Framework: está disponible desde la versión 4.5

Consulte también