<p dir="ltr">Thanks for your informative replies!<br>
I hope BIND, OpenSSH et al start using <br>
the 1.1.0 API soon. </p>
<p dir="ltr">RE:<br>
<cite><br>
jason.vas.dias> On 20/03/2017, Kurt Roeckx <<a href="mailto:kurt@roeckx.be">kurt@roeckx.be</a>> wrote:<br>
jason.vas.dias> > The ed25519 support in openssh doesn't even come from openssl.<br>
jason.vas.dias> ><br>
jason.vas.dias> What happens is OpenSSH's cipher.c calls<br>
jason.vas.dias>        if (EVP_CipherInit(cc->evp, type, NULL, (u_char *)iv,<br>
jason.vas.dias>           (do_encrypt == CIPHER_ENCRYPT)) == 0) {<br>
jason.vas.dias>                 ret = SSH_ERR_LIBCRYPTO_ERROR;<br>
jason.vas.dias>                 goto out;<br>
jason.vas.dias>         }<br>
jason.vas.dias> which always does 'goto out' for any ED25519 file.</p>
<p dir="ltr">That would happen if ssh_host_ed25519_key is password protected and<br>
the cipher used to encrypt the key isn't recognised in OpenSSL 1.1.0<br>
(and considering the current master of openssh-portable doesn't build<br>
cleanly against OpenSSL 1.1.0e and I therefore suppose you've hacked<br>
around, I can't even begin to say where the fault came in).  It also<br>
depends on your OpenSSL configuration, since you can disable most<br>
algorithms it carries...<br>
</cite></p>
<p dir="ltr">But none of my host keys were password protected. </p>
<p dir="ltr">They were just what resulted from the command:<br>
 $ ssh-keygen -A <br>
which is run on initial openssh installation.</p>
<p dir="ltr">The modifications I made were trivial : <br>
o Including the hidden API headers , <br>
o initializing automatic SSL structs<br>
    - ie '{struct}_CTX v ={0};' , not<br>
          '{struct}_CTX v;'<br>
   ( else the {struct}_init(&v) function <br>
     ( I think evp_init() )<br>
     could try free()-ing garbage pointer<br>
     members ( in named ) ) <br>
o changing some structure member references<br>
   from s->m to s.m - these were verified by <br>
   compiler.<br>
That really is the extent of all mods I made <br>
to openssh / BIND .</p>
<p dir="ltr">Openssh was then unable to read or write the <br>
existing /etc/ssh_host_ed25519_key file ( not PW protected ), so NO ssh app can run, and <br>
'ssh_keygen -A'  failed to write a new ed25519 <br>
key file (not pw protected) when I moved all the old files out of the way , failing ( under gdb ) at that point in the <br>
cipher_init() code I posted before .</p>
<p dir="ltr">If anyone has managed to get openssh working<br>
under OpenSSL 1.1.0 please let me know & I'll <br>
try upgrading again. </p>
<p dir="ltr">But until 1.1.0 adoption becomes more widespread, I still think it would be helpful<br>
if the main <a href="http://openssl.org">openssl.org</a> webpage let users <br>
know this is the case , with a statement such <br>
as 'most openssl using applications have not <br>
upgraded to 1.1.0 yet' . This would prevent <br>
others from wasting time as I was led to do.<br></p>
<p dir="ltr">Regards, Jason</p>