ssl
Mozilla SSL Config Tool
Man lernt nur durch Wiederholung:
moz://a SSL Configuration Generator
Schaut euch das an, wie man TLS ordentlich konfiguriert.
OpenSSL und Custom Certificates
openssl version -a ... OPENSSLDIR: "/usr/local/ssl" ...
Place cert.pem File here (Liste of custom certificates)
See also:
Stackoverflow
MadBoa
Der Ordner ./certs da drin funktioniert nicht – zumindest nicht bei mir
OpenSSL PFX aus geschütztem Key erzeugen
openssl pkcs12 -export -in "${FILE}.cer" -inkey "${FILE}.key" -passin pass:$PASS -out "${FILE}.pfx" -name "${FILE}_$(date +%Y%m%d_%H%M%S)" -passout pass:$PASS
-name … Friendly Name / Alias
-passout … Passwort fürs PFX
-passin … Passwort vom KEY
OpenSSL PFX erzeugen
openssl pkcs12 -export -out ${FILE}.pfx -inkey ${FILE}.key -in ${FILE}.cer
openssl nameopt
OpenSSL unterstützt eine nette Option, falls man den Output in einem Script weiterverarbeiten will.
Hier die normale Ausgabe:
openssl x509 -in test.cer -noout -text
Certificate: Data: Version: 3 (0x2) Serial Number: 55:0d:00:d6:79:bf:17:7b Signature Algorithm: sha256WithRSAEncryption Issuer: C = US, O = Google Trust Services, CN = Google Internet Authority G3 Validity Not Before: Nov 27 14:02:00 2018 GMT Not After : Feb 19 14:02:00 2019 GMT Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.google.com
Und hier die Multiline Ausgabe:
openssl x509 -in test.cer -noout -text -nameopt multiline
Certificate: Data: Version: 3 (0x2) Serial Number: 55:0d:00:d6:79:bf:17:7b Signature Algorithm: sha256WithRSAEncryption Issuer: countryName = US organizationName = Google Trust Services commonName = Google Internet Authority G3 Validity Not Before: Nov 27 14:02:00 2018 GMT Not After : Feb 19 14:02:00 2019 GMT Subject: countryName = US stateOrProvinceName = California localityName = Mountain View organizationName = Google LLC commonName = *.google.com
Warum man auf OpenSSL 1.1.1 wartet
Schön langsam wird es Zeit fürs neue OpenSSL 1.1.1. Das will man haben, damit endlich TLS 1.3 in der Breite verfügbar wird.
Aber es gibt weitere interessante Änderungen.
SNI ist ab dann der Standard für s_client.
Bei s_client -starttls werden mehr Protokolle wie LDAP unterstützt.
SSL Fehler
Ist schon wieder ein paar Tage her. Aber woher kam dieser Fehler? War nur einmal sichtbar. Foglende Aufrufe haben wieder funktioniert.
OpenSSL in MobaXterm
Neue OpenSSL Version kompilieren in MobaXterm bricht einfach ab mit Fehlermeldung
./config && make ... ... ... gcc -I. -Iinclude -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC-DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR=""/usr/local/ssl"" -DENGINESDIR=""/usr/local/lib/engines-1.1"" -D TERMIOS -DL_ENDIAN -Wall -O3 -fomit-frame-pointer -D_WINDLL -MMD -MF ssl/tls_srp.d.tmp -MT ssl/tls_srp.o -c -o ssl/tls_srp.o ssl/tls_srp.c ar r libssl.a ssl/bio_ssl.o ssl/d1_lib.o ssl/d1_msg.o ssl/d1_srtp.o ssl/methods.o ssl/pqueue.o ssl/record/dtls1_bitmap.o ssl/record/rec_layer_d1.o ssl/record/rec_layer_s3.o ssl/record/ssl3_buffer.o ssl/record/ssl3_record.o ssl/s3_cbc.o ssl/s3_enc.o ssl/s3_lib.o ssl/s3_msg.o ssl/ssl_asn1.o ssl/ssl_cert.o ssl/ssl_ciph.o ssl/ssl_conf.o ssl/ssl_err.o ssl/ssl_init.o ssl/ssl_lib.o ssl/ssl_mcnf.o ssl/ssl_rsa.o ssl/ssl_sess.o ssl/ssl_stat.o ssl/ssl_txt.o ssl/ssl_utst.o ssl/statem/statem.o ssl/statem/statem_clnt.o ssl/statem/statem_dtls.o ssl/statem/statem_lib.o ssl/statem/statem_srvr.o ssl/t1_enc.o ssl/t1_ext.o ssl/t1_lib.o ssl/t1_reneg.o ssl/t1_trce.o ssl/tls_srp.o ar: creating libssl.a ranlib libssl.a || echo Never mind. /bin/make -f ./Makefile.shared -e \ PLATFORM=Cygwin-x86 \ PERL="/usr/bin/perl" SRCDIR='.' DSTDIR="." \ INSTALLTOP='/usr/local' LIBDIR='lib' \ LIBDEPS=' '""' ' \ LIBNAME=crypto SHLIBVERSION=1.1 \ STLIBNAME=libcrypto.a \ SHLIBNAME=libcrypto.dll.a SHLIBNAME_FULL=cygcrypto-1.1.dll \ CC='gcc' CFLAGS='-DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR=""/usr/local/ssl"" -DENGINESDIR=""/usr/local/lib/engines-1.1"" -DTERMIOS -DL_ENDIAN -Wall -O3 -fomit-frame-pointer -D_WINDLL' \ LDFLAGS='' SHARED_LDFLAGS='-shared ' \ RC='windres' SHARED_RCFLAGS='' \ link_shlib.cygwin-shared make[2]: Entering directory '/drives/c/temp/openssl-1.1.0g' /usr/bin/perl ./util/mkrc.pl cygcrypto-1.1.dll | windres -o rc.o LD_LIBRARY_PATH=:/bin gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="/usr/local/ssl" -DENGINESDIR="/usr/local/lib/engines-1.1" -DTERMIOS -DL_ENDIAN -Wall -O3 -fomit-frame-pointer -D_WINDLL -shared -shared -Wl,--enable-auto-image-base -Wl,-Bsymbolic -Wl,--out-implib,libcrypto.dll.a rc.o -o cygcrypto-1.1.dll -Wl,--whole-archive libcrypto.a -Wl,--no-whole-archive libcrypto.a(async_posix.o):async_posix.c:(.text+0xe): undefined reference to `getcontext' libcrypto.a(async_posix.o):async_posix.c:(.text+0x56): undefined reference to `getcontext' libcrypto.a(async_posix.o):async_posix.c:(.text+0xd4): undefined reference to `makecontext' libcrypto.a(async.o):async.c:(.text+0x34): undefined reference to `setcontext' collect2: error: ld returned 1 exit status Makefile.shared:243: recipe for target 'link_shlib.cygwin' failed make[2]: *** [link_shlib.cygwin] Error 1 make[2]: Leaving directory '/drives/c/temp/openssl-1.1.0g' Makefile:639: recipe for target 'libcrypto.dll.a' failed make[1]: *** [libcrypto.dll.a] Error 2 make[1]: Leaving directory '/drives/c/temp/openssl-1.1.0g' Makefile:130: recipe for target 'all' failed make: *** [all] Error 2
Lösung:
./config no-async && make
Der Build läuft durch und baut eine funktionierende exe
$ apps/openssl.exe version OpenSSL 1.1.0g 2 Nov 2017
Zitat des Tages
Beschreibt exakt was wir alle tagtäglich erleben mit SSL/TLS/X.509
Allerdings sind Verbindungen zu diesen Seiten nicht zwangsläufig sicher. Die Verwendung schwacher Verschlüsselungsalgorithmen, Schwachstellen in den Webservern oder SSL-Bibliotheken in Verbindung mit allen möglichen Angriffstechniken, können Eindridnglinge auf empfindliche Informationen zugreifen lassen. Ein wichtiger Aspekt ist auch die Vertrauenswürdigkeit einer öffentlichen Zertifizierungsstelle. Die bekanntesten offiziellen Zertifizierungsstellen sind … und …, deren Verwendung schon in die meisten Browser kompiliert ist und daher automatisch akzeptiert wird.
HSTS Preload
Das HSTS Preloading wurde mittlerweile aufgeschaltet:
Status: xn--hllrigl-90a.at is currently preloaded.
Sollte sofort sichtbar sein, wer versucht http://www.höllrigl.at aufzurufen wird sofort auf https://www.höllrigl.at umgeleitet.
Auch die SSLLabs Prüfung erkennt das:
HSTS Preloading Chrome Edge Firefox IE