Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo le ayuda a solucionar problemas y errores comunes que puede encontrar al usar el servicio Azure Cloud HSM.
Mensajes de error comunes
En las secciones siguientes se responden preguntas sobre errores comunes, incluidos los errores relacionados con las máquinas virtuales (VM) y los módulos de seguridad de hardware (HSM).
¿Por qué recibo el mensaje de error "Error de certificado: [Error de firma de certificado]" al ejecutar azcloudhsm_mgmt_util?
Este error puede producirse al realizar estos pasos:
- Cree e inicialice la implementación de Azure Cloud HSM desde otra máquina virtual.
- Intente instalar el SDK de cliente de HSM en la nube y ejecútelo desde otra máquina virtual que falta o no tenga el archivo correcto
PO.crtde la máquina virtual de administración desde la que se inicializó.
Si copia el archivo de la PO.crt máquina virtual de administración en la nueva máquina virtual y vuelve a ejecutar azcloudhsm_mgmt_util, debería ver una conexión correcta con el HSM.
¿Por qué recibo el mensaje de error "INF: shutdown_ssl_socket: SSL_shutdown envió la alerta close_notify" al ejecutar azcloudhsm_client?
Este error puede producirse al realizar estos pasos:
- Cree e inicialice la implementación de Azure Cloud HSM desde otra máquina virtual.
- Intente instalar el SDK de cliente de HSM en la nube y ejecútelo desde otra máquina virtual que falta o no tenga el archivo correcto
PO.crtde la máquina virtual de administración desde la que se inicializó.
Si copia el archivo de la PO.crt máquina virtual de administración en la nueva máquina virtual y vuelve a ejecutar azcloudhsm_client, debería ver una conexión correcta con el HSM.
¿Por qué recibo el mensaje de error "azcloudhsm_application.cfg no está presente"?
Para garantizar la ejecución correcta de la aplicación, debe cumplir estas dos condiciones:
El
azcloudhsm_application.cfgarchivo está presente en el mismo directorio que la aplicación.La
azcloudhsm_clientherramienta se está ejecutando. Siazcloudhsm_clientno está activo, se produce un error en la conexión de socket.Del mismo modo, la ausencia del
azcloudhsm_application.cfgarchivo da como resultado un mensaje de error. En función de la ubicación de ejecución de la aplicación, es posible que tenga que copiar elazcloudhsm_application.cfgarchivo desde el directorio del SDK de Azure Cloud HSM al directorio donde se ejecuta la aplicación.
Motor de OpenSSL para Azure Cloud HSM
¿Admite Windows el motor de OpenSSL para Azure Cloud HSM?
No. El motor de OpenSSL para Azure Cloud HSM solo admite Linux (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8 y CBL Mariner 2).
¿Por qué recibo el mensaje de error "el motor 'azcloudhsm_openssl' no válido no pudo cargar la biblioteca compartida"?
El mensaje de error sugiere que la variable LD_LIBRARY_PATH de entorno de requisitos previos no está configurada. Esta configuración es necesaria. Establezca la LD_LIBRARY_PATH variable de entorno en el directorio donde se encuentra el SDK de Azure Cloud HSM.
Debe actualizar las variables de entorno para reflejar la versión correcta del SDK mediante la ejecución de este comando:
export LD_LIBRARY_PATH=/opt/azurecloudhsm/lib64/:$LD_LIBRARY_PATH
¿Por qué recibo el mensaje de error "La variable de entorno azcloudhsm_openssl_conf no está establecida"?
El mensaje de error indica que la variable azcloudhsm_openssl_conf de entorno de requisitos previos no está configurada. Establezca la variable de entorno azcloudhsm_openssl_conf en la ubicación de la ruta de acceso del archivo azcloudhsm_openssl_dynamic.conf en el directorio del SDK de HSM de Azure Cloud.
Debe actualizar las variables de entorno para reflejar la versión correcta del SDK mediante la ejecución de este comando:
export azcloudhsm_openssl_conf=/opt/azurecloudhsm/bin/azcloudhsm_openssl_dynamic.conf
¿Por qué recibo el mensaje de error "La variable de entorno azcloudhsm_password no está establecida"?
El mensaje de error sugiere que la variable azcloudhsm_password de entorno de requisitos previos no está configurada. Establezca la azcloudhsm_password variable de entorno en el valor de cryptouser:password.
Debe actualizar las variables de entorno para reflejar el usuario y la contraseña de criptografía correctos:
export azcloudhsm_password="cu1:user1234"
Proveedor JCE para Azure Cloud HSM
En las secciones siguientes se responden preguntas relacionadas con la extensión de criptografía de Java (JCE).
¿La integración de JCE con Azure Cloud HSM admite Windows?
No. La integración de JCE con Azure Cloud HSM solo admite Linux (Ubuntu 20.04, Ubuntu 22.04, RHEL 7, RHEL 8, CBL Mariner 2).
¿Por qué recibo el mensaje de error "no se encontraron credenciales para iniciar sesión en el HSM"?
El error indica un desafío al buscar o autenticar las credenciales necesarias para iniciar sesión en HSM en la nube. Al usar los ejemplos de esta documentación o incorporar el proveedor de JCE para Azure Cloud HSM en las aplicaciones, es esencial iniciar sesión explícitamente con credenciales:
// Explicit Login with Credentials
LoginManager lm=LoginManager.getInstance();
lm.login("PARTITION_1","cu1","user1234");
// Logout of the HSM
lm.logout();
¿Por qué recibo el mensaje de error "atributo con el valor 0 para esta operación? ¿El atributo debe establecerse para el KEK de usuario"?
El error indica que no se creó una clave de cifrado de clave (KEK) generada por el usuario ni se designó como extractable, y wrap_with_trusted se estableció en 1. Para obtener la configuración adecuada que se usará al realizar operaciones de importación de claves, ajuste de claves y desencapsulado de claves, consulte la sección sobre cómo crear una KEK generada por el usuario en la guía de integración de JCE.
¿Por qué recibo el mensaje de error "Error de conexión de socket del daemon, fallo en el inicio de sesión de la API"?
El error indica un desafío al buscar o autenticar las credenciales necesarias para iniciar sesión en HSM en la nube. Al usar los ejemplos de la guía de integración de JCE o incorporar el proveedor JCE de Azure Cloud HSM JCE en las aplicaciones, es esencial iniciar sesión explícitamente con credenciales para garantizar la conexión.
Biblioteca PKCS#11 para Azure Cloud HSM
¿Por qué recibo el mensaje de error "C_Login error con el código de error: 0xa3"?
El 0xa3 error indica un error de inicio de sesión. Es posible que el error esté relacionado con el formato del parámetro PIN que está pasando o que el PIN (contraseña) sea incorrecto.
El PIN debe proporcionarse en el formato siguiente: char pPin[256] = "crypto_user:user123";. El pPin valor debe seguir la estructura de <username>:<password>. Compruebe que está proporcionando el valor pPin en este formato, ya que cualquier desviación podría dar lugar a un error de inicio de sesión.
¿Por qué recibo el mensaje de error "error C_Initialize() con 00000005 (no se pudo conectar socket)"?
Una conexión de socket con error durante C_Initialize podría estar relacionada con que la herramienta azcloudhsm_client no se está ejecutando en su sistema. Para que las aplicaciones PKCS#11 se ejecuten correctamente, azcloudhsm_client debe estar en ejecución. Puede empezar azcloudhsm_client ejecutando uno de los siguientes comandos en un terminal independiente.
Linux (recomendado)
Si instaló el SDK de Azure Cloud HSM mediante DEB o RPM, el cliente no se configura automáticamente para ejecutarse como servicio. El SDK, durante la instalación, incluye un archivo de unidad de servicio en /etc/systemd/system/azure-cloud-hsm.service. Para permitir que azcloudhsm_client se ejecute como un servicio, use el archivo predefinido azure-cloud-hsm.service.
Vuelva a cargar la systemd configuración y habilite el servicio para asegurarse de que se está ejecutando continuamente. Realice los pasos siguientes:
Abra una ventana de terminal y cambie el directorio a
/etc/systemd/system, donde se encuentra el archivo de unidad de servicio HSM en la nube:cd /etc/systemd/systemInicie y habilite el servicio cliente HSM en la nube:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.serviceCompruebe el estado del servicio cliente HSM en la nube:
sudo systemctl status azure-cloud-hsm.serviceVuelva a cargar la
systemdconfiguración:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (manual)
Inicie el demonio de cliente si no se está ejecutando:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
También puede optar por ejecutar el servicio del cliente en segundo plano mediante el siguiente comando. O bien, puede ejecutar el demonio de cliente como servicio para asegurarse de que siempre se está ejecutando.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
Windows (recomendado)
Si instaló el SDK de Azure Cloud HSM mediante un paquete MSI, el cliente ya está configurado para ejecutarse como servicio. Si el cliente no se está ejecutando, puede abrir Services.msc, haga clic con el botón derecho en Microsoft Azure Cloud HSM Client Service y seleccione Iniciar.
Windows (manual)
Inicie el demonio de cliente si no se está ejecutando:
cd C:\Program Files\Microsoft Azure Cloud HSM Client SDK
.\azcloudhsm_client.exe .\azcloudhsm_resource.cfg
¿Cómo sabe la biblioteca PKCS#11 para Linux cómo encontrar la configuración del cliente?
La biblioteca PKCS#11 sabe cómo encontrar la configuración de cliente porque debe tener una copia del certificado de propietario de la partición (PO.crt) en el servidor de aplicaciones que ejecuta la aplicación y que usa la biblioteca PKCS#11. Además del certificado de propietario de la partición:
- Debe actualizar
/azcloudhsm_client/azcloudhsm_client.cfgen el servidor de aplicaciones que tiene instalado el SDK para que apunte a la implementación de Azure Cloud HSM (es decir,hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net). - La
azcloudhsm_clientherramienta debe ejecutarse en el servidor de aplicaciones que se conecta a la implementación de Azure Cloud HSM. - Debe especificar un PIN dentro de la aplicación PKCS#11 mediante la sintaxis
<username>:<password>. Este PIN se usa para llamarC_Logina la implementación de HSM en la nube de Azure. - Debe incluir
pkcs11_headers/include/cryptoki.hypkcs11_headers/include/pkcs11t.hen la aplicación PKCS#11 para usar la biblioteca PKCS#11 para Azure Cloud HSM.
¿Cómo sabe la biblioteca PKCS#11 (azcloudhsm_pkcs11.dll) para Windows cómo encontrar la configuración del cliente?
El azcloudhsm_pkcs11.dll archivo del SDK de Windows de Azure Cloud HSM sabe cómo encontrar la configuración del cliente porque debe tener una copia del certificado de propietario de la partición (PO.crt) en el servidor de aplicaciones que ejecuta la aplicación y que usa la biblioteca PKCS#11. Además del certificado de propietario de la partición:
- Debe actualizar
/azcloudhsm_client/azcloudhsm_client.cfgen el servidor de aplicaciones que tiene instalado el SDK para que apunte a la implementación de Azure Cloud HSM (es decir,hsm1.chsm-<resourcename>-<uniquestring>.privatelink.cloudhsm.azure.net). - La
azcloudhsm_clientherramienta debe ejecutarse en el servidor de aplicaciones que se conecta a la implementación de Azure Cloud HSM. - Debe especificar un PIN dentro de la aplicación PKCS#11 mediante la sintaxis
<username>:<password>. Este PIN se usa para llamarC_Logina la implementación de HSM en la nube de Azure. - Debe incluir
pkcs11_headers\include\cryptoki.hypkcs11_headers\include\pkcs11t.hen la aplicación PKCS#11 para usar la biblioteca PKCS#11 para Azure Cloud HSM.
¿Por qué obtengo errores PKCS#11 al intentar establecer una clave o un almacén de claves?
Asegúrese de que tiene el cliente HSM en la nube de Azure en ejecución (sudo ./azcloudhsm_client azcloudhsm_client.cfg). Un usuario incorrecto, una contraseña incorrecta, un cliente de seguridad líquido que no se está ejecutando o un cliente que no se puede conectar podría producir el siguiente error:
Error Message:ERROR at line 1:
ORA-28407: Hardware Security Module failed with PKCS#11 error
CKR_GENERAL_ERROR(5)
¿Cómo se integra la biblioteca PKCS#11 (azcloudhsm_pkcs11.dll) con OpenSC?
Debe usar los --sensitive argumentos y --private cuando use herramientas de tarjeta inteligente de código abierto (OpenSC), ya que los atributos confidenciales y privados no pueden ser 0. Sin esos argumentos, las herramientas de OpenSC establecen los atributos confidenciales y privados en 0. Estos atributos generan una excepción, ya que Azure Cloud HSM siempre impone un comportamiento confidencial y privado.
Este es un ejemplo de envoltura de cifrado avanzado estándar (AES):
pkcs11-tool.exe --sensitive --private --module "C:\AzureCloudHSM-ClientSDK\AzureCloudHSM-ClientSDK-Windows-1.0.3.0\libs\pkcs11\azcloudhsm_pkcs11.dll" --login --login-type user --pin cu1:user1234 --keygen --key-type AES:32*
Este es un ejemplo de criptografía de curva elíptica (ECC) P521:
pkcs11-tool.exe --sensitive --private --module "C:\AzureCloudHSM-ClientSDK\AzureCloudHSM-ClientSDK-Windows-1.0.3.0\libs\pkcs11\azcloudhsm_pkcs11.dll" --login --login-type user --pin cu1:user1234 --keypairgen --key-type EC:prime256v1 --usage-sign
Descarga de SSL/TLS para HSM en la nube de Azure
En las secciones siguientes se responden preguntas relacionadas con la descarga del procesamiento de capa de sockets seguros (SSL) o seguridad de la capa de transporte (TLS).
¿El motor de OpenSSL para Azure Cloud HSM admite PKCS#11 para la descarga de SSL/TLS?
No. El motor de OpenSSL para Azure Cloud HSM no admite PKCS#11 para la descarga SSL/TLS. Los clientes que requieren PKCS#11 para la descarga de SSL/TLS deben usar la biblioteca de descarga de TLS para HSM Gestionado de Azure.
¿Por qué recibo el mensaje de error "Failed to connect socket, LIQUIDSECURITY: Daemon socket connection error" al ejecutar azcloudhsm_util?
El mensaje de error sugiere que azcloudhsm_client no se está ejecutando. Asegúrese de que azcloudhsm_client esté en funcionamiento para que las herramientas de HSM en la nube de Azure se ejecuten correctamente. Para empezar azcloudhsm_client, asegúrese de que se está ejecutando como servicio o ejecutando manualmente uno de los siguientes comandos en un terminal independiente.
Linux (recomendado)
Si instaló el SDK de Azure Cloud HSM mediante DEB o RPM, el cliente no se configura automáticamente para ejecutarse como servicio. El SDK, durante la instalación, incluye un archivo de unidad de servicio en /etc/systemd/system/azure-cloud-hsm.service. Para habilitar azcloudhsm_client para ejecutarse como servicio, use el archivo predefinido azure-cloud-hsm.service.
Vuelva a cargar la systemd configuración y habilite el servicio para asegurarse de que se está ejecutando continuamente. Realice los pasos siguientes:
Abra una ventana de terminal y cambie el directorio a
/etc/systemd/system, donde se encuentra el archivo de unidad de servicio HSM en la nube:cd /etc/systemd/systemInicie y habilite el servicio cliente HSM en la nube:
sudo systemctl start azure-cloud-hsm.service sudo systemctl enable azure-cloud-hsm.serviceCompruebe el estado del servicio cliente HSM en la nube:
sudo systemctl status azure-cloud-hsm.serviceVuelva a cargar la
systemdconfiguración:sudo systemctl daemon-reload sudo systemctl list-units --type=service --state=running
Linux (manual)
Inicie el demonio de cliente si no se está ejecutando:
sudo ./azcloudhsm_client azcloudhsm_client.cfg
También puede ejecutar el cliente en segundo plano mediante el siguiente comando. O bien, puede ejecutar el demonio de cliente como servicio para asegurarse de que siempre se está ejecutando.
sudo ./azcloudhsm_client azcloudhsm_client.cfg > /dev/null 2>&1 &
¿Por qué recibo el mensaje de error "La variable de entorno azcloudhsm_password no está establecida"?
El mensaje de error sugiere que la variable azcloudhsm_password de entorno de requisitos previos no está configurada. Para resolver este problema, establezca la azcloudhsm_password variable de entorno en el valor de cryptouser:password.
Actualice las variables de entorno para reflejar el usuario y la contraseña de criptografía correctos:
export azcloudhsm_password="cu1:user1234"
¿Por qué recibo el mensaje de error "No se encontró la clave o el token" o "Identificador o token de clave no válidos" cuando intento importar una clave?
El mensaje de error sugiere que el identificador de clave de envoltura especificado (el identificador de controlador de KEK) es incorrecto. El parámetro -f especifica el nombre de archivo que contiene la clave que se va a importar, mientras que -w especifica el identificador de la clave de envoltura. Durante la creación de un KEK generado por el usuario, el valor -w debe ser el ID del identificador de la clave de su KEK generado por el usuario.
azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 importPrivateKey -l importTestKey -f key.pem -w 262150
¿Por qué recibo el mensaje de error "/configure: error: C compiler cc not found" cuando intento configurar los orígenes NGINX?
El mensaje de error sugiere que falta un compilador de C desde el sistema al ejecutar el configure comando. En función de la instalación, después de ejecutar los comandos siguientes, es posible que también tenga que instalar openssl libssl-dev y zlib1g zlib1g-dev. Estos elementos son dependencias.
Sistemas basados en Red Hat (mediante YUM)
sudo yum update
sudo yum groupinstall "Development Tools"
Sistemas basados en Red Hat (mediante DNF)
sudo dnf update
sudo dnf install "Development Tools"
Sistemas basados en Ubuntu (usando APT)
sudo apt update
sudo apt install build-essential
¿Por qué recibo el mensaje de error "/configure: error: los módulos SSL requieren la biblioteca OpenSSL"?
El mensaje de error indica que se requiere la biblioteca OpenSSL para habilitar módulos SSL para NGINX. Para resolver este problema, ejecute el siguiente comando y, a continuación, vuelva a ejecutar configure :
sudo apt-get install libssl-dev
¿Por qué recibo el mensaje de error "/configure: error: el módulo HTTP gzip requiere la biblioteca zlib"?
El mensaje de error indica que la biblioteca zlib es necesaria para el módulo HTTP gzip en NGINX. Para resolver este problema, ejecute el siguiente comando y, a continuación, vuelva a ejecutar configure :
sudo apt-get install zlib1g-dev
¿Por qué recibo el mensaje de error "Error de HSM: RET_USER_LOGIN_FAILURE"?
El mensaje de error indica que el usuario especificado no existe en uno o varios nodos en los que está intentando realizar una operación criptográfica. Aunque Azure Cloud HSM funciona con un clúster de tres nodos, la operación se dirigió a un nodo donde se produjo un error en el inicio de sesión.
En tales casos, se genera un critical_err_info_ archivo dentro del AzureCloudHSM-ClientSDK directorio . El archivo muestra "Status: HSM Error: Este usuario no existe".
Para mitigar este error, debe crear un usuario de criptografía (CU) que se replique en los tres nodos de la implementación de Azure Cloud HSM. En el ejemplo siguiente se muestra el inicio azcloudhsm_mgmt_util y el inicio de sesión de un administrador como usuario de agente de criptografía (CO). A continuación, el ejemplo crea un usuario cu1 con el rol de CU.
sudo ./azcloudhsm_mgmt_util ./azcloudhsm_mgmt_util.cfg
loginHSM CO admin adminpassword
createUser CU cu1 user1234
logoutHSM
loginHSM CU cu1 user1234
¿Cómo se muestra el contenido del archivo CRT, CSR o clave que he creado?
Para mostrar el contenido del certificado (CRT), la solicitud de firma de certificado (CSR) o el archivo de clave que creó en el terminal, use este comando:
cat filename.key
Para mostrar información detallada sobre un certificado X.509 incluido en el archivo Correo mejorado de privacidad (PEM), use el siguiente comando. Si el archivo PEM contiene una clave privada u otros tipos de datos, es posible que tenga que ajustar el comando en consecuencia.
openssl x509 -in filename.pem -text -noout
Para mostrar información detallada sobre un CSR, use el siguiente comando. Esta información incluye el asunto, la clave pública y los atributos incluidos en la solicitud.
openssl req -in filename.csr -text -noout
Para mostrar información detallada sobre una clave privada rivest-Shamir-Adleman (RSA), use el siguiente comando. Esta información incluye el módulo de la clave, el exponente público y otros parámetros.
openssl rsa -in filename.key -text -noout
Para mostrar información detallada sobre una clave privada de curva elíptica (EC), use el siguiente comando. Muestra los parámetros de curva, el valor de clave privada y otra información relevante.
openssl ec -in filename.key -text -noout
¿Cómo se genera un par de claves ED25519 en Azure Cloud HSM para la firma?
ED25519 claves se usan normalmente para certificados autofirmados o en procesos de firma de certificados que usan directamente la clave privada. Puede generar un par de claves ED25519 mediante azcloudhsm_util o el motor de OpenSSL para Azure Cloud HSM.
Importante
No se recomienda usar openssl genpkey ni openssl ecparam. El uso openssl genpkey o openssl ecparam con -engine azcloudhsm_openssl para generar una clave ED25519 o ECCKeyPair no genera una clave HSM. En su lugar, genera una clave de software. Si necesita ED25519 u otros tipos de clave EC, debe usar azcloudhsm_util para crear la clave en el HSM.
Openssl genpkey y openssl ecparam son comandos openSSL para generar claves criptográficas, pero sirven para distintos propósitos y admiten tipos de clave diferentes. Use openssl genpkey cuando necesite generar una amplia gama de claves criptográficas asimétricas, como RSA, DSA, ECDSA y claves de ED25519. Use openssl ecparam específicamente para generar claves criptográficas de curva elíptica (ECDSA), como prime256v1, secp384r1 o secp521r1.
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genECCKeyPair -i 28 -l labelED25519Test
¿Puedo usar azcloudhsm_util para generar claves RSA y EC antes de usar el motor OpenSSL de Azure Cloud HSM para generar una CSR?
Sí. Puede ejecutar los siguientes azcloudhsm_util comandos para crear una clave RSA o EC y, a continuación, extraer la clave privada en un formato PEM falso. Reemplace por {PRIVATE_KEY_HANDLE} el identificador de clave privada de la clave RSA o EC que creó.
El archivo de metadatos de clave privada en formato PEM no contiene ningún material confidencial de clave privada. Los metadatos identifican la clave privada y solo el motor de OpenSSL para Azure Cloud HSM entiende este archivo.
Use este comando para crear una clave RSA:
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genRSAKeyPair -m 2048 -e 65537 -l labelRSATest
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 getCaviumPrivKey -k {PRIVATE_KEY_HANDLE} -out web_server_fake_PEM.key
openssl req -new -key web_server_fake_PEM.key -out web_server.csr -engine azcloudhsm_openssl
openssl x509 -req -days 365 -in web_server.csr -signkey web_server_fake_PEM.key -out web_server.crt -engine azcloudhsm_openssl
Use este comando para crear una clave EC:
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 genECCKeyPair -i 2 -l labelECTest
./azcloudhsm_util singlecmd loginHSM -u CU -p user1234 -s cu1 getCaviumPrivKey -k {PRIVATE_KEY_HANDLE} -out web_server_fake_PEM.key
openssl req -new -key web_server_fake_PEM.key -out web_server.csr -engine azcloudhsm_openssl
openssl x509 -req -days 365 -in web_server.csr -signkey web_server_fake_PEM.key -out web_server.crt -engine azcloudhsm_openssl
SQL Server EKM para Azure Cloud HSM
En las secciones siguientes se responden preguntas relacionadas con la característica Administración extensible de claves (EKM) en SQL Server.
¿Admite un proveedor EKM de SQL Server para Azure Cloud HSM claves simétricas?
No. SQL Server no admite claves simétricas para el cifrado de datos transparente. Solo se admiten claves asimétricas.
¿Un proveedor de SQL Server EKM para Azure Cloud HSM admite SQL Server en Linux?
No. Un proveedor EKM de SQL Server para Azure Cloud HSM solo admite Windows Server.
¿Un proveedor de SQL Server EKM para Azure Cloud HSM admite SQL Server SaaS/PaaS?
No. Azure Cloud HSM es solo infraestructura como servicio (IaaS). Los clientes de software como servicio (SaaS) o plataforma como servicio (PaaS) deben usar HSM administrado de Azure, que admite el cifrado de datos transparente para Azure SQL Database e Instancia administrada de Azure SQL.
¿Un proveedor de SQL Server EKM para Azure Cloud HSM admite varios inicios de sesión, credenciales y conexiones?
Para un proveedor de SQL Server EKM para Azure Cloud HSM, el inicio de sesión o la conexión SQL está limitado y solo puede tener asignada una sola credencial.
¿Por qué recibo el mensaje de error "Error: No se puede inicializar el proveedor criptográfico. Código de error del proveedor: 1. (Error: Consulte al proveedor EKM para obtener más información)"?
Este error común puede producirse al ejecutar el paquete MSI para Azure Cloud HSM después de instalar SQL Server. El error desaparece al reiniciar SQL Server. En ese momento, recoge las variables de entorno y la configuración que creó al ejecutar el paquete MSI para Azure Cloud HSM.
Integración de AD CS con Azure Cloud HSM
En las secciones siguientes se responden preguntas relacionadas con Servicios de certificados de Active Directory (AD CS).
¿Por qué obtengo el mensaje de error "No se puede abrir el archivo openssl-ca.cnf" cuando intento migrar un certificado de un KSP de Microsoft mediante el ejemplo proporcionado?
Este error suele producirse cuando el openssl-ca.cnf archivo no existe, ya que intenta migrar un certificado de un proveedor de almacenamiento de claves (KSP). Puede crear el archivo usted mismo o obtenerlo de otro origen.
¿Puedo usar mis propios servidores de firma en mi red corporativa que consume Azure Cloud HSM como solución SaaS?
Azure Cloud HSM es solo IaaS. Sin embargo, puede usar sus propios servidores de firma en la red corporativa.
Puede configurar una conexión VPN de sitio a sitio o de punto a sitio desde la puerta de enlace de red local. Este es el método más común y es adecuado para la mayoría de los casos de uso. Configure una conexión VPN entre los servidores locales de la red corporativa y la ubicación donde se implementa Azure Cloud HSM. Para más información, consulte Tutorial: Creación de una conexión VPN de sitio a sitio en Azure Portal.
Puede tener AD CS para los servidores de firma locales. El SDK debe estar en el host local y el cliente debe ser accesible para las direcciones IP privadas de la red virtual de Azure. Se aplican los siguientes requisitos:
- Debe ejecutarse
azcloudhsm_clienten la misma máquina donde existe el proveedor Cryptography API: Next Generation (CNG) para Azure Cloud HSM. - La
azcloudhsm_clientherramienta debe poder comunicarse con las direcciones IP privadas de la red virtual de Azure.
Cuando probamos AD CS, generamos un par de claves RSA y, a continuación, usamos la administración de certificados para firmar.
¿Son los únicos métodos aceptados para firmar o comprobar a través de proveedores de HSM en la nube (por ejemplo, azcloudhsm_util)?
No. Nuestra recomendación es usar el SDK de Azure Cloud HSM y las interfaces (como PKCS#11, CNG, KSP, JCE y el motor OpenSSL) que proporciona. También puede usar la Herramienta de firma (signtool.exe) para las operaciones de firma o comprobación.
AD CS está configurado para usar CNG o KSP para Azure Cloud HSM.
¿Puedo usar la firma o comprobación de HSM en la nube a través de signtool.exe?
Sí. La herramienta de firma se dirige automáticamente a la implementación de HSM en la nube. No es necesario usar azcloudhsm_util. Hemos incluido azcloudhsm_util en las instrucciones como una manera de que los clientes prueben y validen rápidamente sus configuraciones de AD CS.
¿Puedo usar certificados autofirmados basados en el par de claves en HSM en la nube para realizar pruebas?
Sí. Puede usar certificados autofirmados basados en el par de claves con fines de prueba.
¿Hay alguna integración o una manera de que los certificados estén disponibles a través del almacén de certificados local de Windows?
Puede usar la certreq.exe herramienta para este propósito.
¿Qué algoritmos admiten los proveedores de CNG y KSP para Azure Cloud HSM?
- Cifrado y descifrado RSA
- Firma RSA con algoritmos hash SHA1, SHA256, SHA384, SHA512 y MD5
- Curvas ECC ECDSA_P256, ECDSA_P384 y ECDSA_P521
¿Cómo se cambian o administran los permisos de clave privada para usuarios no administrativos en Windows?
Cuando se genera una clave mediante un KSP o CNG para Azure Cloud HSM, solo se concede acceso al administrador a la clave privada. Es posible que encuentre dificultades para ver la información de seguridad o modificar los permisos a través de Microsoft Management Console (MMC). Este comportamiento es intencionado.
De forma predeterminada, cuando se usa un KSP o CNG, el acceso al archivo de clave privada para una nueva clave está restringido a SYSTEM y a los administradores. Si necesita proporcionar acceso a un usuario no administrativo para un archivo de clave privada específico, identifique el nombre de archivo de la clave privada y asigne permisos directamente. Las claves privadas están en el directorio C:\Users\Default\AppData\Roaming\Microsoft\Crypto\CaviumKSP de claves HSM de Windows for Cloud.
¿Qué hace azcloudhsm_ksp_import_key.exe?
Puede usar azcloudhsm_ksp_import_key.exe para importar o representar claves asimétricas en el KSP de HSM en la nube.
Los algoritmos admitidos son RSA (de 2048 a 4096 en múltiplo de 256), ECDSA y ECDH. Para ECDSA y ECDH, las curvas admitidas son P256, P384 y P521. Después de importar o representar una clave en el KSP de HSM en la nube, solo debe administrar la clave desde el KSP de HSM en la nube.
¿Cuál es la forma recomendada de conectarse a HSM en la nube desde la red corporativa (tareas de operación o administrador)?
Puede conectarse a través de la red virtual. Use estas herramientas:
- La
azcloudhsm_mgmt_utilherramienta ejecuta operaciones (tareas de administrador en el HSM). Requiere credenciales de agente de criptografía de partición (PCO). - La
azcloudhsm_clientherramienta (demonio de cliente) se conecta a través de credenciales de usuario de criptografía de partición (PCU).
La azcloudhsm_client herramienta y la aplicación deben ejecutarse en la misma máquina virtual dentro de la red virtual. El motivo es que la aplicación se conecta al proceso de cliente a través de la llamada a procedimiento remoto (RPC).
El servicio Azure Cloud HSM escucha en el puerto 443 (azcloudhsm_client solicitudes), 444 (azcloudhsm_mgmt_util solicitudes) y 445 (comunicación entre servidores).
Los puertos front-end son 2224 y 2225 para el protocolo TCP a través de TLS. Estos puertos son solo para los clientes.