当前位置: 首页>>代码示例>>Python>>正文


Python db.certificate_create函数代码示例

本文整理汇总了Python中nova.db.certificate_create函数的典型用法代码示例。如果您正苦于以下问题:Python certificate_create函数的具体用法?Python certificate_create怎么用?Python certificate_create使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了certificate_create函数的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: generate_x509_cert

def generate_x509_cert(user_id, project_id, bits=2048):
    """Generate and sign a cert for user in project."""
    subject = _user_cert_subject(user_id, project_id)

    with utils.tempdir() as tmpdir:
        keyfile = os.path.abspath(os.path.join(tmpdir, "temp.key"))
        csrfile = os.path.abspath(os.path.join(tmpdir, "temp.csr"))
        utils.execute("openssl", "genrsa", "-out", keyfile, str(bits))
        utils.execute("openssl", "req", "-new", "-key", keyfile, "-out", csrfile, "-batch", "-subj", subject)
        with open(keyfile) as f:
            private_key = f.read()
        with open(csrfile) as f:
            csr = f.read()

    (serial, signed_csr) = sign_csr(csr, project_id)
    fname = os.path.join(ca_folder(project_id), "newcerts/%s.pem" % serial)
    cert = {"user_id": user_id, "project_id": project_id, "file_name": fname}
    db.certificate_create(context.get_admin_context(), cert)
    return (private_key, signed_csr)
开发者ID:rcosma-gd,项目名称:openstack-nova,代码行数:19,代码来源:crypto.py

示例2: generate_x509_cert

def generate_x509_cert(user_id, project_id, bits=1024):
    """Generate and sign a cert for user in project."""
    subject = _user_cert_subject(user_id, project_id)
    tmpdir = tempfile.mkdtemp()
    keyfile = os.path.abspath(os.path.join(tmpdir, 'temp.key'))
    csrfile = os.path.join(tmpdir, 'temp.csr')
    utils.execute('openssl', 'genrsa', '-out', keyfile, str(bits))
    utils.execute('openssl', 'req', '-new', '-key', keyfile, '-out', csrfile,
                  '-batch', '-subj', subject)
    private_key = open(keyfile).read()
    csr = open(csrfile).read()
    shutil.rmtree(tmpdir)
    (serial, signed_csr) = sign_csr(csr, project_id)
    fname = os.path.join(ca_folder(project_id), 'newcerts/%s.pem' % serial)
    cert = {'user_id': user_id,
            'project_id': project_id,
            'file_name': fname}
    db.certificate_create(context.get_admin_context(), cert)
    return (private_key, signed_csr)
开发者ID:Shinya-Yoshida,项目名称:nova,代码行数:19,代码来源:crypto.py

示例3: generate_x509_cert

def generate_x509_cert(user_id, project_id, bits=2048):
    """Generate and sign a cert for user in project."""
    subject = _user_cert_subject(user_id, project_id)

    with utils.tempdir() as tmpdir:
        keyfile = os.path.abspath(os.path.join(tmpdir, 'temp.key'))
        csrfile = os.path.abspath(os.path.join(tmpdir, 'temp.csr'))
        utils.execute('openssl', 'genrsa', '-out', keyfile, str(bits))
        utils.execute('openssl', 'req', '-new', '-key', keyfile, '-out',
                      csrfile, '-batch', '-subj', subject)
        with open(keyfile) as f:
            private_key = f.read()
        with open(csrfile) as f:
            csr = f.read()

    (serial, signed_csr) = sign_csr(csr, project_id)
    fname = os.path.join(ca_folder(project_id), 'newcerts/{0!s}.pem'.format(serial))
    cert = {'user_id': user_id,
            'project_id': project_id,
            'file_name': fname}
    db.certificate_create(context.get_admin_context(), cert)
    return (private_key, signed_csr)
开发者ID:runt18,项目名称:nova,代码行数:22,代码来源:crypto.py

示例4: open

    utils.execute('openssl', 'req', '-new', '-key', keyfile, '-out', csrfile,
                  '-batch', '-subj', subject)
    private_key = open(keyfile).read()
    csr = open(csrfile).read()

    try:
        shutil.rmtree(tmpdir)
    except OSError, e:
        LOG.debug(_('Could not remove tmpdir: %s'), str(e))

    (serial, signed_csr) = sign_csr(csr, project_id)
    fname = os.path.join(ca_folder(project_id), 'newcerts/%s.pem' % serial)
    cert = {'user_id': user_id,
            'project_id': project_id,
            'file_name': fname}
    db.certificate_create(context.get_admin_context(), cert)
    return (private_key, signed_csr)


def _ensure_project_folder(project_id):
    if not os.path.exists(ca_path(project_id)):
        geninter_sh_path = os.path.join(os.path.dirname(__file__),
                                        'CA',
                                        'geninter.sh')
        start = os.getcwd()
        os.chdir(ca_folder())
        utils.execute('sh', geninter_sh_path, project_id,
                      _project_cert_subject(project_id))
        os.chdir(start)

开发者ID:baz-reddwarf,项目名称:nova,代码行数:29,代码来源:crypto.py


注:本文中的nova.db.certificate_create函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。