todo: find way to choose preferred encryption

openssl has a command (at bottom of man) 
cipher
man cipher: 

EXAMPLES
       Verbose listing of all OpenSSL ciphers including NULL ciphers:

        openssl ciphers -v 'ALL:eNULL'

       Include all ciphers except NULL and anonymous DH then sort by strength:

        openssl ciphers -v 'ALL:!ADH:@STRENGTH'

       Include all ciphers except ones with no encryption (eNULL) or no authentication (aNULL):

        openssl ciphers -v 'ALL:!aNULL'

       Include only 3DES ciphers and then place RSA ciphers last:

        openssl ciphers -v '3DES:+RSA'

       Include all RC4 ciphers but leave out those without authentication:

        openssl ciphers -v 'RC4:!COMPLEMENTOFDEFAULT'

       Include all ciphers with RSA authentication but leave out ciphers without encryption.

        openssl ciphers -v 'RSA:!COMPLEMENTOFALL'

       Set security level to 2 and display all ciphers consistent with level 2:

        openssl ciphers -s -v 'ALL:@SECLEVEL=2'


digging deeper:

https://github.com/openssl/openssl/issues/7562




''

To everyone who is reading this issue: OpenSSL 1.1 uses an independent, new interface to set ciphersuits for TLSv1.3, the old ciphersuits interface is only effective up to TLSv1.2, so changing it has no effect for TLSv1.3. And as currently almost no application has adopted the new interface, there is no way to change ciphersuits for TLSv1.3.

But there is a workaround: you can change the global openssl.cnf to modify the default TLSv1.3 ciphersuits for OpenSSL itself, so every program in the system will use the ciphersuits you specified.

For example, appending these lines...

openssl_conf = default_conf

[default_conf]
ssl_conf = ssl_sect

[ssl_sect]
system_default = system_default_sect

[system_default_sect]
Ciphersuites = TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256

After changing it, you'll see the new global default,

$ openssl ciphers -v ''
TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any      Au=any  Enc=CHACHA20/POLY1305(256) Mac=AEAD
TLS_AES_256_GCM_SHA384  TLSv1.3 Kx=any      Au=any  Enc=AESGCM(256) Mac=AEAD
TLS_AES_128_GCM_SHA256  TLSv1.3 Kx=any      Au=any  Enc=AESGCM(128) Mac=AEAD

The path to global openssl.cnf is usually OPENSSLDIR, which can be obtained by...

$ openssl version -a | grep OPENSSLDIR
OPENSSLDIR: "/etc/ssl"
''


goes no where. what a mess.
Oh, it's openssl ciphers
NOT
openssl cipher
don't get that mixed up.

root@zmctankhome:/etc/ssl# openssl ciphers -ciphersuites -help
Error setting TLSv1.3 ciphersuites
140089759171712:error:1426E0B9:SSL routines:ciphersuite_cb:no cipher match:../ssl/ssl_ciph.c:1294:


that didn't go anywhere on a search.

goal: disable openssl cipher (i.e. just one)

lots of dead ends
https://stackoverflow.com/questions/29162982/how-do-i-disable-a-particular-cipher-suite-in-openssl
only for c code
https://serverfault.com/questions/951775/disable-weak-cipher-ubuntu-16
is only for apache and ssh (poor subject title - misleading).

https://serverfault.com/questions/918082/openssl-disable-tlsv1-and-certain-insecure-ciphers-system-wide
here they recommend application specific files. 
no rule tht says there cant be a global. smwisicdt
bullshit.

man msmtp
 - An SMTP client
has tls priorities.

that should work. considered solved.

