Ninguén tocou o perfil e, con todo, o mesmo cliente agora pide unha frase de contrasinal para a clave privada cada vez que arrinca. Cando ese cambio chega poucos días despois dunha actualización da distribución, a actualización é a causa probable: OpenSSL 3 reorganizou a súa compatibilidade con algoritmos, e unha clave que a biblioteca antiga lía sen problema pode volverse ilexible sen que cambie un só byte. Faga as comprobacións en orde, porque dúas delas parecen idénticas se só mira o aviso.

A primeira pregunta é se a clave está cifrada, e a segunda é se esta compilación pode descifrala. Os cambios de configuración só teñen sentido cando se coñecen ambas as respostas.

Comprobe se a clave está cifrada

Lea a primeira liña do ficheiro e despois deixe que a biblioteca o analice, porque un nome de ficheiro non demostra nada. Un bloque PEM etiquetado ENCRYPTED PRIVATE KEY é PKCS#8 cifrado, e un bloque RSA PRIVATE KEY máis antigo que leva Proc-Type: 4,ENCRYPTED é a forma tradicional, e ambos esperan unha frase de contrasinal. Un bloque PRIVATE KEY sen cifrar non debería pedir ningunha. Execute a análise coa conta que posúe o ficheiro, porque un problema de permisos produce un erro distinto e moito menos interesante.

Se a clave non está cifrada e o cliente segue preguntando, deixe de mirar a criptografía e comprobe se o perfil nomea un ficheiro askpass que o servizo aínda poida ler.

Comprobe se esta compilación pode descifrala

OpenSSL 3 dividiu a súa compatibilidade con algoritmos en provedores, e un conxunto de cifrados antigos agora reside no provedor legacy en lugar do predeterminado. Unha clave cifrada cun deses cifrados segue sendo válida, pero unha biblioteca cargada sen o provedor legacy non pode decodificala. Nalgúns clientes iso aparece como un aviso que se repite, noutros como un fallo contundente xusto despois da frase de contrasinal.

Analice a mesma clave dúas veces co mesmo binario: primeiro só co provedor predeterminado, despois con legacy e predeterminado solicitados ambos na liña de ordes. Se o segundo intento ten éxito onde fallou o primeiro, o diagnóstico apóiase en probas e non no momento da actualización. Se ambos fallan igual, a frase de contrasinal é incorrecta ou o ficheiro está danado, e ningún axuste de provedor repara ningunha das dúas cousas.

Comprobe a corrección máis estreita dispoñible

Prefera un cambio limitado ao cliente antes que un de alcance sistémico. Algunhas compilacións 2.6 aceptan unha opción de perfil que carga ambos os provedores para o proceso dese daemon, así que confirme a directiva no manual para a súa versión exacta antes de confiar nela; editar o openssl.cnf do sistema afecta en cambio todos os programas OpenSSL do host. O axuste máis estreito tamén é moito máis doado de reverter unha vez que a clave se volveu codificar.

Non elimine a frase de contrasinal para que o aviso desapareza. Iso converte unha credencial protexida nun ficheiro de texto plano e cambia en silencio o risco de cada copia de seguridade, copia e paquete de asistencia nos que apareza. A distinción que importa é entre unha clave que necesita a súa frase de contrasinal e unha clave que esta biblioteca non pode decodificar.

Comprobe o contexto do servizo e volva codificar

Unha vez que a clave se pode desbloquear, vólvaa cifrar cun algoritmo actual para que a dependencia desapareza. Escriba o ficheiro novo cun cifrado moderno, verifique que se analiza, actualice o perfil e conserve a copia antiga só ata que unha conexión teña éxito. Nunca poña a frase de contrasinal nunha liña de ordes, onde calquera usuario local pode lela da lista de procesos. Elimine o ficheiro antigo só despois de que o novo se conecte desde a conta de servizo, non só desde a súa shell.

Despois comprobe a unidade que realmente executa o cliente. Unha clave lexible na súa shell pode ser ilexible para un servizo que se executa con outra conta ou cun axuste de directorio persoal endurecido.

Anote o axuste do provedor xunto ao perfil e garde a proba de dous comandos con el. Cando unha actualización posterior elimine o provedor legacy, volva executar esa proba para ver se a clave aínda o necesita ou se o perfil pode retirarse da solución provisional.

Un aviso é un síntoma con polo menos tres causas, e só unha delas é unha frase de contrasinal ausente.

Artigos relacionados