[Nut-upsdev] SSL certificate verification with OpenSSL in NUT trunk
Arjen de Korte
nut+devel at de-korte.org
Thu Jan 13 11:34:35 UTC 2011
Citeren EmilienKia op Eaton.com:
> With a clean trunk checkout, compile and installation; and with the
> following config :
>
> upsmon.conf:
> CERTPATH /usr/local/ups/etc/cert/
> CERTVERIFY 1
> FORCESSL 1
First off, you're not supposed to use both CERTVERIFY and FORCESSL.
FORCESSL is intended to be used in cases you can't verify the validity
of a certificate, but still want to enforce the use of any presented.
See the 'docs/ssl.txt' from the nut-2.4.3 branch (this file didn't
make it into AsciiDoc).
> So, do I misunderstand CERTVERIFY directive ? Or is there a bug ?
> Can you reproduce such behaviour ?
I'm not sure what is going on. Can you try running 'upsmon' with
debugging enabled? The following are the results of my tests here. In
all cases, the upsd server is running with a valid PositiveSSL
certificate (so the root CA that signed this certificate is trusted
without further configuration):
upsmon.conf (valid):
CERTPATH /etc/ssl/certs/
CERTVERIFY 1
#upsmon -DD
Network UPS Tools upsmon 2.6.0-pre1-2819
0.000000 UPS: mge-usb op localhost (master) (power value 1)
0.000457 Using power down flag file /etc/killpower
0.000962 debug level is '2'
0.003348 Trying to connect to UPS [mge-usb op localhost]
0.024697 Logged into UPS mge-usb op localhost
0.025804 pollups: mge-usb op localhost [SSL]
0.026283 parse_status: [OL CHRG]
-----------
upsmon.conf (demo CA, not the one that signed the server certificate):
CERTPATH /etc/ssl/certs/demo
CERTVERIFY 1
#upsmon -DD
Network UPS Tools upsmon 2.6.0-pre1-2819
0.000000 UPS: mge-usb op localhost (master) (power value 1)
0.000465 Using power down flag file /etc/killpower
0.001071 debug level is '2'
0.003841 Trying to connect to UPS [mge-usb op localhost]
0.016105 Can't set username on [mge-usb op localhost]: SSL error:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate
verify failed
5.016263 pollups: mge-usb op localhost
5.016345 Poll UPS [mge-usb op localhost] failed - Driver not connected
5.016368 do_notify: ntype 0x0005 (COMMBAD)
5.016402 Communications with UPS mge-usb op localhost lost
5.016771 Dropping connection to UPS [mge-usb op localhost]
-----------
upsmon.conf (empty directory):
CERTPATH /etc/ssl/certs/empty
CERTVERIFY 1
# upsmon -DD
Network UPS Tools upsmon 2.6.0-pre1-2819
0.000000 UPS: mge-usb op localhost (master) (power value 1)
0.000481 Using power down flag file /etc/killpower
0.000942 debug level is '2'
0.004245 Trying to connect to UPS [mge-usb op localhost]
0.016430 Can't set username on [mge-usb op localhost]: SSL error:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate
verify failed
5.016599 pollups: mge-usb op localhost
5.016682 Poll UPS [mge-usb op localhost] failed - Driver not connected
5.016705 do_notify: ntype 0x0005 (COMMBAD)
5.016724 Communications with UPS mge-usb op localhost lost
5.017086 Dropping connection to UPS [mge-usb op localhost]
-----------
So whatever I try, if a valid certificate is not found, upsmon doesn't
seem to connect.
Best regards, Arjen
--
Please keep list traffic on the list (off-list replies will be rejected)
More information about the Nut-upsdev
mailing list