I think I have settled on the data I want to make available for the –sslinfo switch. If someone thinks there would be some additional info that would be useful please let me know.
Below is what I have for output so far for the –sslinfo switch. I am thinking the switch will initially be in BETA mode even with the release version of V01.50.00 until I sort out exactly how I want it formatted and how it might be used. I also have to sort out how to add the CSV/TSV functionality for it since when it runs in this mode it doesn’t actually get anywhere near the normal output stage of the code. I know for a mass scan of a forest that would likely be the preferred output model.
My original thinking was that the bit strength, cert version, dates, and issuer would be the most valuable bits of info. I visualize being able to tear through an entire forest looking at this info for every DC with a simple for /f loop like
for /f %i in (‘adfind -gcb -dclist’) do adfind -hh %i -sslinfo
Like so:
[Sat 04/08/2017 18:10:11.39]
E:\DEV\cpp\vs\AdFind>for /f %i in (‘release\adfind -gcb -sc dclist’) do release\adfind -hh %i -sslinfo -utc
[Sat 04/08/2017 18:10:22.83]
E:\DEV\cpp\vs\AdFind>release\adfind -hh K16TST-DC1.k16tst.test.loc -sslinfo -utc
AdFind V01.50.00.00cpp VS BETA Joe Richards (support@joeware.net) April 2016
Certificate Info
================
Encoding Type = X509_ASN_ENCODING (0x01)
Version = CERT_V3 (0x02)
NotBefore = 2017/04/08-16:11:31 UTC
NotAfter = 2018/04/08-16:11:31 UTC
Sig Algorithm = 1.2.840.113549.1.1.13
Issuer = CN=CA1,DC=k16tst,DC=test,DC=loc
Subject = CN=K16TST-DC1.k16tst.test.loc
SSL Connection Information
==========================
Protocol = Transport Layer Security 1.2 client-side (SP_PROT_TLS1_2_CLIENT)
Cipher Algorithm = AES 256-bit encryption algorithm (CALG_AES_256)
Cipher Strength = 256 bits
Hash Algorithm = 384 bit SHA hashing algorithm (CALG_SHA_384)
Hash Strength = 0 bits
Key Exch Algorithm = Ephemeral elliptic curve Diffie-Hellman key exchange (CALG_ECDH_EPHEM)
Key Exch Strength = 255 bits
The command completed successfully
[Sat 04/08/2017 18:10:22.90]
E:\DEV\cpp\vs\AdFind>release\adfind -hh K16TST-DC2.k16tst.test.loc -sslinfo -utc
AdFind V01.50.00.00cpp VS BETA Joe Richards (support@joeware.net) April 2016
Certificate Info
================
Encoding Type = X509_ASN_ENCODING (0x01)
Version = CERT_V3 (0x02)
NotBefore = 2017/04/08-16:15:53 UTC
NotAfter = 2018/04/08-16:15:53 UTC
Sig Algorithm = 1.2.840.113549.1.1.13
Issuer = CN=CA1,DC=k16tst,DC=test,DC=loc
Subject = CN=K16TST-DC2.k16tst.test.loc
SSL Connection Information
==========================
Protocol = Transport Layer Security 1.2 client-side (SP_PROT_TLS1_2_CLIENT)
Cipher Algorithm = AES 256-bit encryption algorithm (CALG_AES_256)
Cipher Strength = 256 bits
Hash Algorithm = 384 bit SHA hashing algorithm (CALG_SHA_384)
Hash Strength = 0 bits
Key Exch Algorithm = Ephemeral elliptic curve Diffie-Hellman key exchange (CALG_ECDH_EPHEM)
Key Exch Strength = 255 bits
The command completed successfully
[Sat 04/08/2017 18:10:22.98]
E:\DEV\cpp\vs\AdFind>release\adfind -hh K16TSTCHLD-DC1.k16tstchld.k16tst.test.loc -sslinfo -utc
AdFind V01.50.00.00cpp VS BETA Joe Richards (support@joeware.net) April 2016
Certificate Info
================
Encoding Type = X509_ASN_ENCODING (0x01)
Version = CERT_V3 (0x02)
NotBefore = 2017/04/08-21:19:19 UTC
NotAfter = 2018/04/08-21:19:19 UTC
Sig Algorithm = 1.2.840.113549.1.1.13
Issuer = CN=CA1,DC=k16tst,DC=test,DC=loc
Subject = CN=K16TSTCHLD-DC1.k16tstchld.k16tst.test.loc
SSL Connection Information
==========================
Protocol = Transport Layer Security 1.2 client-side (SP_PROT_TLS1_2_CLIENT)
Cipher Algorithm = AES 256-bit encryption algorithm (CALG_AES_256)
Cipher Strength = 256 bits
Hash Algorithm = 384 bit SHA hashing algorithm (CALG_SHA_384)
Hash Strength = 0 bits
Key Exch Algorithm = Ephemeral elliptic curve Diffie-Hellman key exchange (CALG_ECDH_EPHEM)
Key Exch Strength = 255 bits
The command completed successfully
[Sat 04/08/2017 18:10:23.11]
E:\DEV\cpp\vs\AdFind>release\adfind -hh K16TSTCHLD-DC2.k16tstchld.k16tst.test.loc -sslinfo -utc
AdFind V01.50.00.00cpp VS BETA Joe Richards (support@joeware.net) April 2016
Certificate Info
================
Encoding Type = X509_ASN_ENCODING (0x01)
Version = CERT_V3 (0x02)
NotBefore = 2017/04/08-21:27:51 UTC
NotAfter = 2018/04/08-21:27:51 UTC
Sig Algorithm = 1.2.840.113549.1.1.13
Issuer = CN=CA1,DC=k16tst,DC=test,DC=loc
Subject = CN=K16TSTCHLD-DC2.k16tstchld.k16tst.test.loc
SSL Connection Information
==========================
Protocol = Transport Layer Security 1.2 client-side (SP_PROT_TLS1_2_CLIENT)
Cipher Algorithm = AES 256-bit encryption algorithm (CALG_AES_256)
Cipher Strength = 256 bits
Hash Algorithm = 384 bit SHA hashing algorithm (CALG_SHA_384)
Hash Strength = 0 bits
Key Exch Algorithm = Ephemeral elliptic curve Diffie-Hellman key exchange (CALG_ECDH_EPHEM)
Key Exch Strength = 255 bits
The command completed successfully
[Sat 04/08/2017 18:10:23.24]
E:\DEV\cpp\vs\AdFind>release\adfind -hh K16TST-RODC1.k16tst.test.loc -sslinfo -utc
AdFind V01.50.00.00cpp VS BETA Joe Richards (support@joeware.net) April 2016
Certificate Info
================
Encoding Type = X509_ASN_ENCODING (0x01)
Version = CERT_V3 (0x02)
NotBefore = 2017/04/08-16:27:19 UTC
NotAfter = 2018/04/08-16:27:19 UTC
Sig Algorithm = 1.2.840.113549.1.1.13
Issuer = CN=CA1,DC=k16tst,DC=test,DC=loc
Subject = CN=K16TST-RODC1.k16tst.test.loc
SSL Connection Information
==========================
Protocol = Transport Layer Security 1.2 client-side (SP_PROT_TLS1_2_CLIENT)
Cipher Algorithm = AES 256-bit encryption algorithm (CALG_AES_256)
Cipher Strength = 256 bits
Hash Algorithm = 384 bit SHA hashing algorithm (CALG_SHA_384)
Hash Strength = 0 bits
Key Exch Algorithm = Ephemeral elliptic curve Diffie-Hellman key exchange (CALG_ECDH_EPHEM)
Key Exch Strength = 255 bits
The command completed successfully
And if you have a machine that doesn’t have a valid cert installed it will give the standard connection failure you already get.
[Sat 04/08/2017 18:10:23.35]
E:\DEV\cpp\vs\AdFind>release\adfind -hh k16tst2-dc1.k16tst2.test.loc -sslinfo -utc
AdFind V01.50.00.00cpp VS BETA Joe Richards (support@joeware.net) April 2016
LDAP_BIND: [k16tst2-dc1.k16tst2.test.loc] Error 0x51 (81) – Server Down
Terminating program.
And if you have a machine that doesn’t have a valid cert installed it will give the standard connection failure you already get.
joe