Estamos obligados a utilizar cifrado con SQL Server, por lo que hemos habilitado ForceEncryption. Según la documentación, si no se proporciona un certificado, SQL Server generará su propio certificado interno para realizar el cifrado.
Necesitamos comprender qué nivel de cifrado proporciona esto. Creo que generalmente usamos certificados de 2048 bits.
¿En qué almacén de certificados se encuentra el certificado interno/de reserva? ¿Y cómo podemos obtener el nivel de cifrado?
Respuesta1
De forma predeterminada, el certificado se encuentra en el registro, en:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib
(Donde MSSQL.x
es MSSQL.x es un marcador de posición para el valor correspondiente de la instancia de SQL Server).
Si el servidor SQL no puede encontrar un certificado en esa ubicación, volverá a buscar en el almacén de certificados un certificado con el FQDN de la computadora en la que está instalado. De forma predeterminada, ese certificado sería el certificado de la máquina, que se encuentra en Local Computer
-> Personal
-> Certificates
a través del complemento Certificados MMC.
Verificaría la longitud de la clave (y otras propiedades) de este (o cualquier) certificado a través del complemento Certificados MMC, navegando hasta él, haciendo doble clic en él y luego presionando la Details
pestaña en el siguiente cuadro de diálogo que aparece para el certificado.
Si este certificado tampoco está disponible, SQL Server generará un certificado alternativo autofirmado y lo utilizará para el cifrado. Puede ver la huella digital o el certificado que se utiliza al ver los registros de errores cuando se reinicia el servicio SQL. La ubicación de este certificado alternativo no se conoce oficialmente y otros foros han sugerido que probablemente resida en la memoria.Consulte aquí para obtener más información.