On Sun, 05 Apr 2020 at 01:22:46 +0200, Jonas Smedegaard wrote:
>> Ah, yes: The cause is that the system lack the hashes in /etc/ssl/certs.
>> 
>> Sorry for bothering you with a bug outside of lacme - sharing these 
>> details only in case it might inspire you to provide clues when lacme 
>> runs into weird scenarios like that.
> 
> In case you are curious, the cause is (most likely) bugs#923479 - my 
> server is an armhf box bootstrapped with QEMU.  I _did_ put a workaround 
> in place for that exact bug, but evidently that failed.

I see, thanks for the follow-up!  lacme *does* hostname verification by
default (ouf) but this is done internally by OpenSSL with
IO::Socket::SSL::default_ca() as default CA stores.

    
https://metacpan.org/pod/IO::Socket::SSL#IO::Socket::SSL::default_ca([-path|dir|-SSL_ca_file-=-...,-SSL_ca_path-=%3E-...-])%3E

On your system IO::Socket::SSL::default_ca() appears to have found a
suitable default.  But with bogus /etc/ssl/certs hashes verify(1ssl)
seems equivalent to -no-CApath, and I'm indeed able to reproduce the
“error 2 at 1 depth lookup” error if I disable /etc/ssl/certs hashes:

    $ curl -s 
https://acme-v02.api.letsencrypt.org/acme/cert/036c9c4c3720c2241c7f32cb5920470555db
 \
    | openssl verify -CAfile /usr/share/lacme/lets-encrypt-x3-cross-signed.pem 
-no-CApath -purpose sslserver -x509_strict
    C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
    error 2 at 1 depth lookup: unable to get issuer certificate
    error stdin: verification failed

Let's close this, no? :-)

-- 
Guilhem.

Attachment: signature.asc
Description: PGP signature

Reply via email to