No hay manera de hacer esto directamente, sin embargo, puedes escribirlo un poco.
Digamos que la cadena de conjuntos de cifrado inicial es !3DES:HIGH
. (Para empezar, probablemente deberías tener una mejor cadena de suites de cifrado, pero ese es un buen punto de partida y no desordenará demasiado esta respuesta).
Ahora, haz esto:
$ openssl ciphers '!3DES:HIGH' \
| sed -e 's/:/\n/g' \
| grep -v GCM \
| sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/:!/g' -e 's/^/!/'
Explicación, por línea:
- Comience con el conjunto de cifrados que "realmente" desea
- Divida la lista
:
-separated en un conjunto de cifrado de una por línea
- Eliminar todo lo que no diga explícitamente
GCM
- Lea todo el archivo de una vez, reemplace las líneas nuevas con
:!
, luego agregue !
al comienzo
Ahora tome esta salida y colóquela al frente de la cadena de su conjunto de cifrado. No deseche su original, ya que es posible que desee volver a ejecutar este proceso más adelante cuando cambie la cadena de conjuntos de cifrado inicial, o si se agregan nuevos cifrados a OpenSSL o incluso a su lista predeterminada HIGH
.