Exemplo n.º 1
0
def getOneCertByDomain(datastore, domain):
    sql = """SELECT ssl_crt, ssl_key, ssl_private_passphrase, ssl_xid,
                    ssl_dedicated_ip, ssl_domain_name, ssl_date_inserted,
                    ssl_date_expires, ssl_internal_only
                FROM ATS_SSL_table
            WHERE ssl_domain_name = '%s' LIMIT 1""" %  domain
    result = datastore.executeOne(sql)
    if result:
        xid                            = result[3]
        dedicated_ip                   = result[4]
        domain                         = result[5]
        if not xid:
            ssllog.log.main_logger.warning("XID not set in database. Skipping bad record for dedicated_ip:[%s] domain_name:[%s]" % \
                    (dedicated_ip, domain))
            return None
        sslCert                        = SSLCert(domain, xid, dedicated_ip)
        sslCert.cert                   = result[0]
        sslCert.key                    = result[1]
        sslCert.passphrase             = result[2]
        sslCert.date_inserted          = result[6]
        sslCert.date_expires           = result[7]
        sslCert.internal_only          = result[8]
        sslCert.sanList                = sslCert.hasSubjectAltNames()
        return sslCert
    else:
        return None
Exemplo n.º 2
0
def getAllCerts(datastore):
    sslCertHash = {}
    sql = """SELECT ssl_crt, ssl_key, ssl_private_passphrase, ssl_xid,
                    ssl_dedicated_ip, ssl_domain_name, ssl_date_inserted,
                    ssl_date_expires, ssl_internal_only
               FROM ATS_SSL_table"""
    results = datastore.executeAll(sql)
    if results:
        for row in row:
            domain                         = row[5]
            xid                            = row[3]
            dedicated_ip                   = row[4]
            if not xid:
                ssllog.log.main_logger.warning("XID not set in database. Skipping bad record for dedicated_ip:[%s] domain_name:[%s]" % \
                        (dedicated_ip, domain))
                continue
            sslCert                        = SSLCert(domain, xid, dedicated_ip)
            # row[0] is the ssl_idx - not needed
            sslCert.cert                   = row[0]
            sslCert.key                    = row[1]
            sslCert.passphrase             = row[2]
            sslCert.date_inserted          = row[6]
            sslCert.date_expires           = row[7]
            sslCert.internal_only          = row[8]
            sslCert.sanList                = sslCert.hasSubjectAltNames()
            sslCertHash[xid] = sslCert
        return sslCertHash
    else:
        return None
Exemplo n.º 3
0
def getOneCertByXID(datastore, xid):
    sql = """SELECT ssl_crt, ssl_key, ssl_private_passphrase, ssl_xid,
                    ssl_dedicated_ip, ssl_domain_name, ssl_date_inserted,
                    ssl_date_expires, ssl_internal_only
                FROM ATS_SSL_table
            WHERE ssl_xid = '%d' LIMIT 1""" % xid
    result = datastore.executeOne(sql)
    if result:
        domain                         = result[5]
        xid                            = result[3]
        dedicated_ip                   = result[4]
        sslCert                        = SSLCert(domain, xid, dedicated_ip)
        sslCert.cert                   = result[0]
        sslCert.key                    = result[1]
        sslCert.passphrase             = result[2]
        sslCert.date_inserted          = result[6]
        sslCert.date_expires           = result[7]
        sslCert.internal_only          = result[8]
        sslCert.sanList                = sslCert.hasSubjectAltNames()
        sslCert.dumpExtensions()
        return sslCert
    else:
        return None
Exemplo n.º 4
0
def getCertsNewerThanTimestamp(datastore, someTimestamp, limitStart, limitSize):
    sslCertHash = {}
    mySqlTimeStamp = someTimestamp.strftime('%Y-%m-%d %H:%M:%S')
    sql = """SELECT ssl_crt, ssl_key, ssl_private_passphrase, ssl_xid,
                    ssl_dedicated_ip, ssl_domain_name, ssl_date_inserted,
                    ssl_date_expires, ssl_internal_only
               FROM ATS_SSL_table
              WHERE ssl_date_inserted >= '%s'
              ORDER BY ssl_date_inserted
              LIMIT %d, %d""" % (mySqlTimeStamp, limitStart, limitSize)
    results = datastore.executeAll(sql)
    if results:
        for row in results:
            domain                         = row[5]
            xid                            = row[3]
            dedicated_ip                   = row[4]
            if not xid:
                ssllog.log.main_logger.warning("Skipping bad record for dedicated_ip:[%s] domain_name:[%s]" % \
                        (dedicated_ip, domain))
                continue
            sslCert                        = SSLCert(domain, xid, dedicated_ip)
            sslCert.cert                   = row[0]
            sslCert.key                    = row[1]
            sslCert.passphrase             = row[2]
            sslCert.date_inserted          = row[6]
            sslCert.date_expires           = row[7]
            sslCert.internal_only          = row[8]
            sslCert.sanList                = sslCert.hasSubjectAltNames()
            sslCertHash[xid] = sslCert
            # Lets keep track of our greatest timestamp and return that for use
            # next time as the starting timestamp
            thisTimestamp = sslCert.date_inserted
            if thisTimestamp > someTimestamp:
                someTimestamp = thisTimestamp
        return (sslCertHash, someTimestamp)
    else:
        return (None, None)