Bug 791197 - aviary cannot load valid OpenSSL certificates
Summary: aviary cannot load valid OpenSSL certificates
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: condor-aviary
Version: 2.1
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 2.2
: ---
Assignee: Pete MacKinnon
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-16 13:22 UTC by Martin Kudlej
Modified: 2013-11-13 21:28 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-05-02 16:08:41 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 752414 0 high CLOSED Aviary doesn't run over SSL with only one server/cert 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 973047 1 None None None 2021-01-20 06:05:38 UTC

Internal Links: 752414 973047

Description Martin Kudlej 2012-02-16 13:22:08 UTC
Description of problem:
I've got 2 certificates(client.cert, server.cert) signed by one self-signed certificate(ca.crt). I've set them to aviary, but scheduler plugin didn't load them nor query server did.
I see this error in SchedLog:
2/16/12 07:42:40 (fd:11) (pid:25733) AXIS2_READ_TIMEOUT is undefined, using default value of 60000
02/16/12 07:42:40 (fd:18) (pid:25733) axis2_ssl_utils_initialize_ctx failed
02/16/12 07:42:40 (fd:17) (pid:25733) SSL/TLS requested but configuration failed
02/16/12 07:42:40 (fd:2) (pid:25733) ERROR "Unable to configure AviaryProvider. Exiting..." at line 57 in file /builddir/build/BUILD/condor-7.6.4/src/condor_contrib/aviary/src/AviaryScheddPlugin.cpp
Stack dump for process 25733 at timestamp 1329396160 (11 frames)
condor_schedd(dprintf_dump_stack+0x4a)[0x81cd9ca]
condor_schedd[0x81afb56]
[0x868420]
/lib/libc.so.6(abort+0x221)[0x445831]
condor_schedd(_EXCEPT_+0xa6)[0x81e6db6]
/usr/lib/condor/plugins/AviaryScheddPlugin-plugin.so(_ZN6aviary3job18AviaryScheddPlugin15earlyInitializeEv+0x25f)[0x3b464f]
condor_schedd(_ZN19ScheddPluginManager15EarlyInitializeEv+0x33)[0x811cef3]
condor_schedd(_Z9main_initiPPc+0xb5)[0x811a625]
condor_schedd(main+0x11e1)[0x8146a51]
/lib/libc.so.6(__libc_start_main+0xdc)[0x430eac]
condor_schedd[0x80bde01]

Certificates are in valid form and verification is OK too.
$ openssl verify -CAfile ca.crt ca.crt
ca.crt: OK
$ openssl verify -CAfile ca.crt server.crt 
server.crt: OK
$ openssl verify -CAfile ca.crt client.crt 
client.crt: OK

Every certificate has this form:
$ cat client.crt
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            ...
        Signature Algorithm: NULL
        Issuer: CN=...
        Validity
            Not Before: Feb 15 10:26:27 2012 GMT
            Not After : Mar 16 10:26:27 2012 GMT
        Subject: CN=....
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    ...
                Exponent: ... (...)
    Signature Algorithm: NULL
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

So they are in valid OpenSSL form.

I've found similar issue in https://bugzilla.redhat.com/show_bug.cgi?id=752414 I think nobody will edit ssl certificates. 

Version-Release number of selected component (if applicable):
condor-aviary-7.6.5-0.12
python-ssl-1.15-3.el5
openssl-0.9.8e-20.el5_7.1

How reproducible:
100%

Steps to Reproduce:
1. install condor
2. setup aviary(scheduler plugin+queryserver) with ssl with valid OpenSSL certifactes
3. start condor and watch SchedLog and QueryServerLog
  
Actual results:
Aviary doesn't work with valid certificates.

Expected results:
Aviary will work with every type of valid OpenSSL certificate in PEM format.

Additional info:

Another type of verification:
$ for i in sslclient sslserver nssslserver smimesign smimeencrypt crlsign any ocsphelper; do openssl verify -CAfile ca.crt -purpose $i server.crt; done
server.crt: OK
server.crt: OK
server.crt: OK
server.crt: OK
server.crt: OK
server.crt: OK
server.crt: OK
server.crt: OK
$ for i in sslclient sslserver nssslserver smimesign smimeencrypt crlsign any ocsphelper; do openssl verify -CAfile ca.crt -purpose $i client.crt; done
client.crt: OK
client.crt: OK
client.crt: OK
client.crt: OK
client.crt: OK
client.crt: OK
client.crt: OK
client.crt: OK
$ for i in sslclient sslserver nssslserver smimesign smimeencrypt crlsign any ocsphelper; do openssl verify -CAfile ca.crt -purpose $i ca.crt; done
ca.crt: OK
ca.crt: OK
ca.crt: OK
ca.crt: OK
ca.crt: OK
ca.crt: OK
ca.crt: OK
ca.crt: OK


Note You need to log in before you can comment on or make changes to this bug.