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