asn1.pyi 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. from typing import Optional, Sequence, Union, Set, Iterable
  2. __all__ = ['DerObject', 'DerInteger', 'DerOctetString', 'DerNull',
  3. 'DerSequence', 'DerObjectId', 'DerBitString', 'DerSetOf']
  4. # TODO: Make the encoded DerObjects their own type, so that DerSequence and
  5. # DerSetOf can check their contents better
  6. class BytesIO_EOF:
  7. def __init__(self, initial_bytes: bytes) -> None: ...
  8. def set_bookmark(self) -> None: ...
  9. def data_since_bookmark(self) -> bytes: ...
  10. def remaining_data(self) -> int: ...
  11. def read(self, length: int) -> bytes: ...
  12. def read_byte(self) -> bytes: ...
  13. class DerObject:
  14. payload: bytes
  15. def __init__(self, asn1Id: Optional[int]=None, payload: Optional[bytes]=..., implicit: Optional[int]=None,
  16. constructed: Optional[bool]=False, explicit: Optional[int]=None) -> None: ...
  17. def encode(self) -> bytes: ...
  18. def decode(self, der_encoded: bytes, strict: bool=...) -> DerObject: ...
  19. class DerInteger(DerObject):
  20. value: int
  21. def __init__(self, value: Optional[int]= 0, implicit: Optional[int]=None, explicit: Optional[int]=None) -> None: ...
  22. def encode(self) -> bytes: ...
  23. def decode(self, der_encoded: bytes, strict: bool=...) -> DerInteger: ...
  24. class DerBoolean(DerObject):
  25. value: bool
  26. def __init__(self, value: bool=..., implicit: Optional[Union[int, bytes]]=..., explicit: Optional[Union[int, bytes]]=...) -> None: ...
  27. def encode(self) -> bytes: ...
  28. def decode(self, der_encoded: bytes, strict: bool=...) -> DerBoolean: ...
  29. class DerSequence(DerObject):
  30. def __init__(self, startSeq: Optional[Sequence[Union[int, DerInteger, DerObject]]]=None, implicit: Optional[int]=None) -> None: ...
  31. def __delitem__(self, n: int) -> None: ...
  32. def __getitem__(self, n: int) -> None: ...
  33. def __setitem__(self, key: int, value: DerObject) -> None: ...
  34. def __setslice__(self, i: int, j: int, sequence: Sequence) -> None: ...
  35. def __delslice__(self, i: int, j: int) -> None: ...
  36. def __getslice__(self, i: int, j: int) -> DerSequence: ...
  37. def __len__(self) -> int: ...
  38. def __iadd__(self, item: DerObject) -> DerSequence: ...
  39. def append(self, item: DerObject) -> DerSequence: ...
  40. def hasInts(self, only_non_negative: Optional[bool]=True) -> int: ...
  41. def hasOnlyInts(self, only_non_negative: Optional[bool]=True) -> bool: ...
  42. def encode(self) -> bytes: ...
  43. def decode(self, der_encoded: bytes, strict: bool=..., nr_elements: Optional[int]=None, only_ints_expected: Optional[bool]=False) -> DerSequence: ...
  44. class DerOctetString(DerObject):
  45. payload: bytes
  46. def __init__(self, value: Optional[bytes]=..., implicit: Optional[int]=None) -> None: ...
  47. class DerNull(DerObject):
  48. def __init__(self) -> None: ...
  49. class DerObjectId(DerObject):
  50. value: str
  51. def __init__(self, value: Optional[str]=..., implicit: Optional[int]=None, explicit: Optional[int]=None) -> None: ...
  52. def encode(self) -> bytes: ...
  53. def decode(self, der_encoded: bytes, strict: bool=...) -> DerObjectId: ...
  54. class DerBitString(DerObject):
  55. value: bytes
  56. def __init__(self, value: Optional[bytes]=..., implicit: Optional[int]=None, explicit: Optional[int]=None) -> None: ...
  57. def encode(self) -> bytes: ...
  58. def decode(self, der_encoded: bytes, strict: bool=...) -> DerBitString: ...
  59. DerSetElement = Union[bytes, int]
  60. class DerSetOf(DerObject):
  61. def __init__(self, startSet: Optional[Set[DerSetElement]]=None, implicit: Optional[int]=None) -> None: ...
  62. def __getitem__(self, n: int) -> DerSetElement: ...
  63. def __iter__(self) -> Iterable: ...
  64. def __len__(self) -> int: ...
  65. def add(self, elem: DerSetElement) -> None: ...
  66. def decode(self, der_encoded: bytes, strict: bool=...) -> DerObject: ...
  67. def encode(self) -> bytes: ...