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


Python x509.DirectoryName方法代码示例

本文整理汇总了Python中cryptography.x509.DirectoryName方法的典型用法代码示例。如果您正苦于以下问题:Python x509.DirectoryName方法的具体用法?Python x509.DirectoryName怎么用?Python x509.DirectoryName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cryptography.x509的用法示例。


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

示例1: _serialize

# 需要导入模块: from cryptography import x509 [as 别名]
# 或者: from cryptography.x509 import DirectoryName [as 别名]
def _serialize(self, value, attr, obj):
        general_names = []
        name_type = None

        if value:
            for name in value._general_names:
                value = name.value

                if isinstance(name, x509.DNSName):
                    name_type = "DNSName"

                elif isinstance(name, x509.IPAddress):
                    if isinstance(value, ipaddress.IPv4Network):
                        name_type = "IPNetwork"
                    else:
                        name_type = "IPAddress"

                    value = str(value)

                elif isinstance(name, x509.UniformResourceIdentifier):
                    name_type = "uniformResourceIdentifier"

                elif isinstance(name, x509.DirectoryName):
                    name_type = "directoryName"

                elif isinstance(name, x509.RFC822Name):
                    name_type = "rfc822Name"

                elif isinstance(name, x509.RegisteredID):
                    name_type = "registeredID"
                    value = value.dotted_string
                else:
                    current_app.logger.warning(
                        "Unknown SubAltName type: {name}".format(name=name)
                    )
                    continue

                general_names.append({"nameType": name_type, "value": value})

        return general_names 
开发者ID:Netflix,项目名称:lemur,代码行数:42,代码来源:fields.py

示例2: format_general_name

# 需要导入模块: from cryptography import x509 [as 别名]
# 或者: from cryptography.x509 import DirectoryName [as 别名]
def format_general_name(name):
    """Format a single general name.

    >>> import ipaddress
    >>> format_general_name(x509.DNSName('example.com'))
    'DNS:example.com'
    >>> format_general_name(x509.IPAddress(ipaddress.IPv4Address('127.0.0.1')))
    'IP:127.0.0.1'
    """

    if isinstance(name, x509.DirectoryName):
        value = format_name(name.value)
    else:
        value = name.value
    return '%s:%s' % (SAN_NAME_MAPPINGS[type(name)], value) 
开发者ID:mathiasertl,项目名称:django-ca,代码行数:17,代码来源:utils.py

示例3: get_common_name

# 需要导入模块: from cryptography import x509 [as 别名]
# 或者: from cryptography.x509 import DirectoryName [as 别名]
def get_common_name(self):
        """Get a value suitable for use as CommonName in a subject, or None if no such value is found.

        This function returns a string representation of the first value that is not a DirectoryName,
        RegisteredID or OtherName.
        """

        for name in self.value:
            if isinstance(name, (x509.DirectoryName, x509.RegisteredID, x509.OtherName)):
                continue
            return name.value 
开发者ID:mathiasertl,项目名称:django-ca,代码行数:13,代码来源:extensions.py

示例4: test_dirname

# 需要导入模块: from cryptography import x509 [as 别名]
# 或者: from cryptography.x509 import DirectoryName [as 别名]
def test_dirname(self):
        self.assertEqual(parse_general_name('/CN=example.com'), x509.DirectoryName(x509.Name([
            x509.NameAttribute(NameOID.COMMON_NAME, 'example.com'),
        ])))
        self.assertEqual(parse_general_name('dirname:/CN=example.com'), x509.DirectoryName(x509.Name([
            x509.NameAttribute(NameOID.COMMON_NAME, 'example.com'),
        ])))
        self.assertEqual(parse_general_name('dirname:/C=AT/CN=example.com'), x509.DirectoryName(x509.Name([
            x509.NameAttribute(NameOID.COUNTRY_NAME, 'AT'),
            x509.NameAttribute(NameOID.COMMON_NAME, 'example.com'),
        ]))) 
开发者ID:mathiasertl,项目名称:django-ca,代码行数:13,代码来源:tests_utils.py


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