* progress on typing
* finish typing analysis.py
* progress on typing dex/__init__.py
* finish pass at dex.__init__.py typing
* more types
* more typing, and fix circular imports using 'if TYPE_CHECKING' checking
* begin to change Generator->Iterator for typing, begin to returns that are type|None to Union[type,None] since that convention started in Python3.10 and Androguard supports 3.9+, and note current circular import issue.
* type|None only works in Python3.10+, which is too high of an assumption for Androguard..change these to Union[type,None]
* withoffset->with_offset
* fix circular import issue due to adding imports for typing
* types for permission loading
* apply type hints to bytecode module
* convert | to Union for further backwards compatibility, progress towards typing axml
* finish typing axml
* order imports, standardize type|None -> Union[type,None]
* fix type for get_certificate_name_string param
* explicitly import Name for typing
* standardize type|None -> Union[type,None]
* type annotate main
* fix some inaccurate hints
* type hint fixes
* add imports for typing
* remove unused import
* remove explicit dependence on typing_extensions, as we can do self-referencing type hints using 'from __future__ import annotations'..however note that typing_extensions is still installed by some underlying package.
This commit replaces the outdated:
asn1crypto.keys.PublicKeyInfo().fingerprint call
With the new:
oscrypto.asymmetric.PublicKey().fingerprint call
ValueError/ve is properly excepted and when printed, it shows "Only DSA keys are generated using a hash algorithm, this key is RSA" for RSA signed apk's.
This commit satisfies the:
`asn1crypto._errors.APIException: asn1crypto.keys.PublicKeyInfo().fingerprint has been removed, please use oscrypto.asymmetric.PublicKey().fingerprint instead`
while still keeping the original behavior.