LibreSSL に対応 - OpenSSL 1.1 に移行したときに OpenSSL の関数に置き換えた EVP_CIPHER_meth_ で始まる関数が LibreSSL にはないため、元に戻した。 https://osdn.net/projects/ttssh2/svn/view/trunk/ttssh2/ttxssh/cipher-ctr.c?root=ttssh2&r1=6229&r2=8316 https://osdn.net/projects/ttssh2/svn/view/trunk/ttssh2/ttxssh/ttxssh.c?root=ttssh2&r1=8273&r2=8316 - LibreSSL の RAND_bytes() の中で落ちるので、BCryptGenRandom() を使うようにした RAND_bytes() を呼んでいるのは _rs_stir() の中 OpenSSH の openbsd-compat/arc4random.c は、OpenSSL ではないときに RAND_bytes() を呼んでいない https://anongit.mindrot.org/openssh.git/tree/openbsd-compat/arc4random.c OpenBSD の lib/libc/crypt/arc4random.c, lib/libcrypto/arc4random/getentropy_win.c では BCryptGenRandom() を呼んでいる https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libc/crypt/arc4random.c?annotate=1.55 https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libcrypto/arc4random/getentropy_win.c?annotate=1.6 BCryptGenRandom() を呼ぶので、動作するのは Windows Vista 以上となる