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


Python error.PyAsn1Error方法代码示例

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


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

示例1: indefLenValueDecoder

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def indefLenValueDecoder(self, fullSubstrate, substrate, asn1Spec, tagSet,
                     length, state, decodeFun, substrateFun):
        r = self._createComponent(asn1Spec, tagSet)
        if substrateFun:
            return substrateFun(r, substrate, length)
        if r.getTagSet() == tagSet: # explicitly tagged Choice
            component, substrate = decodeFun(substrate, r.getComponentTagMap())
            # eat up EOO marker
            eooMarker, substrate = decodeFun(substrate, allowEoo=True)
            if not eoo.endOfOctets.isSameTypeWith(eooMarker) or \
                    eooMarker != eoo.endOfOctets:
                raise error.PyAsn1Error('No EOO seen before substrate ends')
        else:
            component, substrate= decodeFun(
                substrate, r.getComponentTagMap(), tagSet, length, state
            )
        if isinstance(component, univ.Choice):
            effectiveTagSet = component.getEffectiveTagSet()
        else:
            effectiveTagSet = component.getTagSet()
        r.setComponentByType(effectiveTagSet, component, 0, asn1Spec is None)
        return r, substrate 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:24,代码来源:decoder.py

示例2: valueDecoder

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def valueDecoder(self, fullSubstrate, substrate, asn1Spec, tagSet, length,
                     state, decodeFun, substrateFun):
        head, tail = substrate[:length], substrate[length:]
        if not head or length != 1:
            raise error.PyAsn1Error('Not single-octet Boolean payload')
        byte = oct2int(head[0])
        # CER/DER specifies encoding of TRUE as 0xFF and FALSE as 0x0, while
        # BER allows any non-zero value as TRUE; cf. sections 8.2.2. and 11.1 
        # in http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf
        if byte == 0xff:
            value = 1
        elif byte == 0x00:
            value = 0
        else:
            raise error.PyAsn1Error('Unexpected Boolean payload: %s' % byte)
        return self._createComponent(asn1Spec, tagSet, value), tail 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:18,代码来源:decoder.py

示例3: prettyIn

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def prettyIn(self, value):
        if not isinstance(value, str):
            try:
                return int(value)
            except:
                raise error.PyAsn1Error(
                    'Can\'t coerce %r into integer: %s' % (value, sys.exc_info()[1])
                    )
        r = self.__namedValues.getValue(value)
        if r is not None:
            return r
        try:
            return int(value)
        except:
            raise error.PyAsn1Error(
                'Can\'t coerce %r into integer: %s' % (value, sys.exc_info()[1])
                ) 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:19,代码来源:univ.py

示例4: fromBinaryString

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def fromBinaryString(self, value):
        bitNo = 8; byte = 0; r = ()
        for v in value:
            if bitNo:
                bitNo = bitNo - 1
            else:
                bitNo = 7
                r = r + (byte,)
                byte = 0
            if v == '0':
                v = 0
            elif v == '1':
                v = 1
            else:
                raise error.PyAsn1Error(
                    'Non-binary OCTET STRING initializer %s' % (v,)
                    )
            byte = byte | (v << bitNo)
        return octets.ints2octs(r + (byte,)) 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:21,代码来源:univ.py

示例5: _cloneComponentValues

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def _cloneComponentValues(self, myClone, cloneValueFlag):
        try:
            c = self.getComponent()
        except error.PyAsn1Error:
            pass
        else:
            if isinstance(c, Choice):
                tagSet = c.getEffectiveTagSet()
            else:
                tagSet = c.getTagSet()
            if isinstance(c, base.AbstractConstructedAsn1Item):
                myClone.setComponentByType(
                    tagSet, c.clone(cloneValueFlag=cloneValueFlag)
                    )
            else:
                myClone.setComponentByType(tagSet, c.clone()) 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:18,代码来源:univ.py

示例6: clone

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def clone(self, parentType, tagMap, uniq=False):
        if self.__defType is not None and tagMap.getDef() is not None:
            raise error.PyAsn1Error('Duplicate default value at %s' % (self,))
        if tagMap.getDef() is not None:
            defType = tagMap.getDef()
        else:
            defType = self.__defType
            
        posMap = self.__posMap.copy()
        for k in tagMap.getPosMap():
            if uniq and k in posMap:
                raise error.PyAsn1Error('Duplicate positive key %s' % (k,))
            posMap[k] = parentType

        negMap = self.__negMap.copy()
        negMap.update(tagMap.getNegMap())
        
        return self.__class__(
            posMap, negMap, defType,
            ) 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:22,代码来源:tagmap.py

示例7: indefLenValueDecoder

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def indefLenValueDecoder(self, fullSubstrate, substrate, asn1Spec, tagSet,
                             length, state, decodeFun, substrateFun):
        r = self._createComponent(asn1Spec, tagSet)
        if substrateFun:
            return substrateFun(r, substrate, length)
        if r.getTagSet() == tagSet:  # explicitly tagged Choice
            component, substrate = decodeFun(substrate, r.getComponentTagMap())
            # eat up EOO marker
            eooMarker, substrate = decodeFun(substrate, allowEoo=True)
            if not eoo.endOfOctets.isSameTypeWith(eooMarker) or \
                    eooMarker != eoo.endOfOctets:
                raise error.PyAsn1Error('No EOO seen before substrate ends')
        else:
            component, substrate = decodeFun(
                substrate, r.getComponentTagMap(), tagSet, length, state
            )
        if isinstance(component, univ.Choice):
            effectiveTagSet = component.getEffectiveTagSet()
        else:
            effectiveTagSet = component.getTagSet()
        r.setComponentByType(effectiveTagSet, component, 0, asn1Spec is None)
        return r, substrate 
开发者ID:proxysh,项目名称:Safejumper-for-Desktop,代码行数:24,代码来源:decoder.py

示例8: valueDecoder

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def valueDecoder(self, fullSubstrate, substrate, asn1Spec, tagSet, length,
                     state, decodeFun, substrateFun):
        head, tail = substrate[:length], substrate[length:]
        if not head or length != 1:
            raise error.PyAsn1Error('Not single-octet Boolean payload')
        byte = oct2int(head[0])
        # CER/DER specifies encoding of TRUE as 0xFF and FALSE as 0x0, while
        # BER allows any non-zero value as TRUE; cf. sections 8.2.2. and 11.1 
        # in http://www.itu.int/ITU-T/studygroups/com17/languages/X.690-0207.pdf
        if byte == 0xff:
            value = 1
        elif byte == 0x00:
            value = 0
        else:
            raise error.PyAsn1Error('Unexpected Boolean payload: %s' % byte)
        return self._createComponent(asn1Spec, tagSet, value), tail

# TODO: prohibit non-canonical encoding 
开发者ID:proxysh,项目名称:Safejumper-for-Desktop,代码行数:20,代码来源:decoder.py

示例9: __init__

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def __init__(self, *namedValues):
        self.nameToValIdx = {}
        self.valToNameIdx = {}
        self.namedValues = ()
        automaticVal = 1
        for namedValue in namedValues:
            if isinstance(namedValue, tuple):
                name, val = namedValue
            else:
                name = namedValue
                val = automaticVal
            if name in self.nameToValIdx:
                raise error.PyAsn1Error('Duplicate name %s' % (name,))
            self.nameToValIdx[name] = val
            if val in self.valToNameIdx:
                raise error.PyAsn1Error('Duplicate value %s=%s' % (name, val))
            self.valToNameIdx[val] = name
            self.namedValues = self.namedValues + ((name, val),)
            automaticVal += 1 
开发者ID:proxysh,项目名称:Safejumper-for-Desktop,代码行数:21,代码来源:namedval.py

示例10: __new__

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def __new__(cls):
        if cls._instance is None:
            def getPlug(name):
                def plug(self, *args, **kw):
                    raise error.PyAsn1Error('Uninitialized ASN.1 value ("%s" attribute looked up)' % name)
                return plug

            op_names = [name
                        for typ in (str, int, list, dict)
                        for name in dir(typ)
                        if name not in cls.skipMethods and name.startswith('__') and name.endswith('__') and callable(getattr(typ, name))]

            for name in set(op_names):
                setattr(cls, name, getPlug(name))

            cls._instance = object.__new__(cls)

        return cls._instance 
开发者ID:proxysh,项目名称:Safejumper-for-Desktop,代码行数:20,代码来源:base.py

示例11: prettyIn

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def prettyIn(self, value):
        if not octets.isStringType(value):
            try:
                return int(value)
            except:
                raise error.PyAsn1Error(
                    'Can\'t coerce %r into integer: %s' % (value, sys.exc_info()[1])
                )
        r = self.__namedValues.getValue(value)
        if r is not None:
            return r
        try:
            return int(value)
        except:
            raise error.PyAsn1Error(
                'Can\'t coerce %r into integer: %s' % (value, sys.exc_info()[1])
            ) 
开发者ID:proxysh,项目名称:Safejumper-for-Desktop,代码行数:19,代码来源:univ.py

示例12: valueDecoder

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def valueDecoder(self, fullSubstrate, substrate, asn1Spec, tagSet,
                     length, state, decodeFun, substrateFun):
        raise error.PyAsn1Error('Decoder not implemented for %s' % (tagSet,)) 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:5,代码来源:decoder.py

示例13: _createComponent

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def _createComponent(self, asn1Spec, tagSet, value=None):
        if tagSet[0][1] not in self.tagFormats:
            raise error.PyAsn1Error('Invalid tag format %s for %s' % (tagSet[0], self.protoComponent.prettyPrintType()))
        if asn1Spec is None:
            return self.protoComponent.clone(value, tagSet)
        elif value is None:
            return asn1Spec
        else:
            return asn1Spec.clone(value) 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:11,代码来源:decoder.py

示例14: _getComponentTagMap

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def _getComponentTagMap(self, r, idx):
        try:
            return r.getComponentTagMapNearPosition(idx)
        except error.PyAsn1Error:
            return 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:7,代码来源:decoder.py

示例15: __call__

# 需要导入模块: from pyasn1 import error [as 别名]
# 或者: from pyasn1.error import PyAsn1Error [as 别名]
def __call__(self, client, defMode=True, maxChunkSize=0):
        if not defMode:
            raise error.PyAsn1Error('DER forbids indefinite length mode')
        return encoder.Encoder.__call__(self, client, defMode, maxChunkSize) 
开发者ID:aliyun,项目名称:oss-ftp,代码行数:6,代码来源:encoder.py


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