自動再起動でパスワードの入力が困難など、
パスワードを設定した鍵で不都合がある場合のパスワードの外し方。
openssl rsa -in <元の鍵名> -out <新しい鍵名> 新しく出来た鍵を元の鍵と入れ替える。
鍵不要であることがわかっている場合、そもそも鍵作成時にパスワードを設定しないのが楽ではある。
ECDH(Elliptic Curve Diffie-Hellman)、ECDSA(Elliptic Curve DSA)を無効にしたい向きがある様子。
1.0.0d以前には脆弱性があるのでそのためか?
サーバ側でCipherSuitesを指定出来るなら、たとえば
CipherSuites TLSv1:!ECDH:!MD5:!RC2:!DES:!NULL:@STRENGTH
つまり!ECDHを追加する。
この場合、ECDHE(ephemeral)も一緒に外される。
1.0.0e未満にはECDHEに脆弱性があるので脆弱性対応で無効にしたい向きにはこれでよい。
なおECDHEを残したい場合は
CipherSuites TLSv1:-ECDH:EECDH:!MD5:!RC2:!DES:!NULL:@STRENGTH
-ECDHで削除(!ECDHではない)してEECDH(ECDHEではない)を追加する(順番大事)。
ソースから導入していて、OpenSSL自体からないないしたいなら、たとえば
./config enable-camellia \ enable-tlsext \ threads \ shared \ zlib \ no-ec \ no-ecdsa \ no-ecdh \ no-idea \ no-rc2 \ no-des
つまり
no-ec no-ecdsa no-ecdh
を指定してみるなど。
ともあれ修正版/最新版へ更新することをお勧め( ´ω`)
スイートで指定するワードがもうなんか似てたりなんたりでややこしいので整理(多分
PSK :Pre Shared Key SRP :Secure Remote Password DHE :Diffie-Hellman key Exchange EDH :Ephemeral Diffie-Hellman ECDH :Elliptic Curve Diffie-Hellman EECDH :Ephemeral Elliptic Curve Diffie-Hellman ・ECDHを指定するとEECDHも入る。 ・EECDHはスイート名だとECDHE-xxxxxxxxxのこと。
ついでに
GCM :Galois Counter Mode AEAD :Authenticated Encryption with Associated Data
指定出来るのは、ssl/ssh.hのこれ(多分。
/* These are used to specify which ciphers to use and not to use */ #define SSL_TXT_EXP40 "EXPORT40" #define SSL_TXT_EXP56 "EXPORT56" #define SSL_TXT_LOW "LOW" #define SSL_TXT_MEDIUM "MEDIUM" #define SSL_TXT_HIGH "HIGH" #define SSL_TXT_FIPS "FIPS" #define SSL_TXT_kFZA "kFZA" /* unused! */ #define SSL_TXT_aFZA "aFZA" /* unused! */ #define SSL_TXT_eFZA "eFZA" /* unused! */ #define SSL_TXT_FZA "FZA" /* unused! */ #define SSL_TXT_aNULL "aNULL" #define SSL_TXT_eNULL "eNULL" #define SSL_TXT_NULL "NULL" #define SSL_TXT_kRSA "kRSA" #define SSL_TXT_kDHr "kDHr" /* no such ciphersuites supported! */ #define SSL_TXT_kDHd "kDHd" /* no such ciphersuites supported! */ #define SSL_TXT_kDH "kDH" /* no such ciphersuites supported! */ #define SSL_TXT_kEDH "kEDH" #define SSL_TXT_kKRB5 "kKRB5" #define SSL_TXT_kECDHr "kECDHr" #define SSL_TXT_kECDHe "kECDHe" #define SSL_TXT_kECDH "kECDH" #define SSL_TXT_kEECDH "kEECDH" #define SSL_TXT_kPSK "kPSK" #define SSL_TXT_kGOST "kGOST" #define SSL_TXT_kSRP "kSRP" #define SSL_TXT_aRSA "aRSA" #define SSL_TXT_aDSS "aDSS" #define SSL_TXT_aDH "aDH" /* no such ciphersuites supported! */ #define SSL_TXT_aECDH "aECDH" #define SSL_TXT_aKRB5 "aKRB5" #define SSL_TXT_aECDSA "aECDSA" #define SSL_TXT_aPSK "aPSK" #define SSL_TXT_aGOST94 "aGOST94" #define SSL_TXT_aGOST01 "aGOST01" #define SSL_TXT_aGOST "aGOST" #define SSL_TXT_DSS "DSS" #define SSL_TXT_DH "DH" #define SSL_TXT_EDH "EDH" /* same as "kEDH:-ADH" */ #define SSL_TXT_ADH "ADH" #define SSL_TXT_RSA "RSA" #define SSL_TXT_ECDH "ECDH" #define SSL_TXT_EECDH "EECDH" /* same as "kEECDH:-AECDH" */ #define SSL_TXT_AECDH "AECDH" #define SSL_TXT_ECDSA "ECDSA" #define SSL_TXT_KRB5 "KRB5" #define SSL_TXT_PSK "PSK" #define SSL_TXT_SRP "SRP" #define SSL_TXT_DES "DES" #define SSL_TXT_3DES "3DES" #define SSL_TXT_RC4 "RC4" #define SSL_TXT_RC2 "RC2" #define SSL_TXT_IDEA "IDEA" #define SSL_TXT_SEED "SEED" #define SSL_TXT_AES128 "AES128" #define SSL_TXT_AES256 "AES256" #define SSL_TXT_AES "AES" #define SSL_TXT_AES_GCM "AESGCM" #define SSL_TXT_CAMELLIA128 "CAMELLIA128" #define SSL_TXT_CAMELLIA256 "CAMELLIA256" #define SSL_TXT_CAMELLIA "CAMELLIA" #define SSL_TXT_MD5 "MD5" #define SSL_TXT_SHA1 "SHA1" #define SSL_TXT_SHA "SHA" /* same as "SHA1" */ #define SSL_TXT_GOST94 "GOST94" #define SSL_TXT_GOST89MAC "GOST89MAC" #define SSL_TXT_SHA256 "SHA256" #define SSL_TXT_SHA384 "SHA384" #define SSL_TXT_SSLV2 "SSLv2" #define SSL_TXT_SSLV3 "SSLv3" #define SSL_TXT_TLSV1 "TLSv1" #define SSL_TXT_TLSV1_1 "TLSv1.1" #define SSL_TXT_TLSV1_2 "TLSv1.2" #define SSL_TXT_EXP "EXP" #define SSL_TXT_EXPORT "EXPORT" #define SSL_TXT_ALL "ALL"