On Thursday 14 May 2015, Michal Lesniewski wrote:
> Hello,
>
> I'm trying to configure OpenBSD 5.7 httpd with tls with
> intermediate/chain certificate without no success.
>
> my httpd.conf:
>
> server "default" {
>          listen on 10.11.0.200 tls port 443
>
>          tls {
>                  certificate "/etc/ssl/server-unified.pem"
>                  key "/etc/ssl/private/server.key"
>          }
>
>          root "/htdocs/default"
> }
>
> types {
>          include "/usr/share/misc/mime.types"
> }
>
>
>
> My certificate is intermediate/chain certificate. That mean I need to
> supply "next level" certificate that is between my certificate and CA.
>
> I made that chain certificate concatenating PEM format files with
> corresponding certs (all certs Signature Algorithm:
> sha256WithRSAEncryption)
>
> cat server.pem sub.class2.server.ca.pem ca-sha2.pem >
> /etc/ssl/server-unified.pem
>
> server-unified.pem looks like:
>
> -----BEGIN CERTIFICATE-----
> (Primary SSL certificate: server.pem)
> -----END CERTIFICATE-----
> -----BEGIN CERTIFICATE-----
> (Intermediate certificate: sub.class2.server.ca.pem)
> -----END CERTIFICATE-----
> -----BEGIN CERTIFICATE-----
> (Root certificate: ca-sha2.pem)
> -----END CERTIFICATE-----
>
> Certificate and key installed in default locations:
>
> # ls -alh /etc/ssl/private/server.key
> -r--------  1 root  wheel   6.2K May 13 19:40 /etc/ssl/private/server.key
> # ls -alh /etc/ssl/server.pem
> -rw-r--r--  1 root  wheel   3.3K May 13 19:41 /etc/ssl/server.pem
> # ls -alh /etc/ssl/server-unified.pem
> -rw-r--r--  1 root  wheel   8.0K May 14 13:53 /etc/ssl/server-unified.pem
>
>
> I try to test using openssl s_client:
>
> michal@michal-MSQ87TN:~$ openssl s_client -connect 10.11.0.200:443
> CONNECTED(00000003)
> GET / HTTP/1.0
>
>
>
> httpd log:
>
>
> # httpd -dvvvvvvvvvv
> startup
> server_tls_load_keypair: using certificate /etc/ssl/server-unified.pem
> server_tls_load_keypair: using private key /etc/ssl/private/server.key
> socket_rlimit: max open files 1024
> socket_rlimit: max open files 1024
> server_privinit: adding server default
> server_privinit: adding server default
> socket_rlimit: max open files 1024
> server_launch: running server default
> server_launch: running server default
> server_launch: running server default
>
> > there is no "server_tls_init"
> > nothing apears when started openssl s_client command

This smells very much like the same problem that has been mentioned on the 
list earlier - with a 6KB private key and a 8KB bundle, you're almost 
certainly hitting the 16K limit for a single imsg. Unfortunately there were 
missing return value checks which means that this fails silently. If you can 
try httpd from -current you will likely see an error instead of a silent 
failure. Otherwise you can try removing one of the certificates from the 
bundle in order to reduce the size and see if it then 
reports "server_tls_init" and starts working.
-- 

    "Action without study is fatal. Study without action is futile."
        -- Mary Ritter Beard

Reply via email to