[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: pkcs12.py
File is not writable. Editing disabled.
# coding: utf-8 """ ASN.1 type classes for PKCS#12 files. Exports the following items: - CertBag() - CrlBag() - Pfx() - SafeBag() - SecretBag() Other type classes are defined that help compose the types listed above. """ from __future__ import unicode_literals, division, absolute_import, print_function from .algos import DigestInfo from .cms import ContentInfo, SignedData from .core import ( Any, BMPString, Integer, ObjectIdentifier, OctetString, ParsableOctetString, Sequence, SequenceOf, SetOf, ) from .keys import PrivateKeyInfo, EncryptedPrivateKeyInfo from .x509 import Certificate, KeyPurposeId # The structures in this file are taken from https://tools.ietf.org/html/rfc7292 class MacData(Sequence): _fields = [ ('mac', DigestInfo), ('mac_salt', OctetString), ('iterations', Integer, {'default': 1}), ] class Version(Integer): _map = { 3: 'v3' } class AttributeType(ObjectIdentifier): _map = { # https://tools.ietf.org/html/rfc2985#page-18 '1.2.840.113549.1.9.20': 'friendly_name', '1.2.840.113549.1.9.21': 'local_key_id', # https://support.microsoft.com/en-us/kb/287547 '1.3.6.1.4.1.311.17.1': 'microsoft_local_machine_keyset', # https://github.com/frohoff/jdk8u-dev-jdk/blob/master/src/share/classes/sun/security/pkcs12/PKCS12KeyStore.java # this is a set of OIDs, representing key usage, the usual value is a SET of one element OID 2.5.29.37.0 '2.16.840.1.113894.746875.1.1': 'trusted_key_usage', } class SetOfAny(SetOf): _child_spec = Any class SetOfBMPString(SetOf): _child_spec = BMPString class SetOfOctetString(SetOf): _child_spec = OctetString class SetOfKeyPurposeId(SetOf): _child_spec = KeyPurposeId class Attribute(Sequence): _fields = [ ('type', AttributeType), ('values', None), ] _oid_specs = { 'friendly_name': SetOfBMPString, 'local_key_id': SetOfOctetString, 'microsoft_csp_name': SetOfBMPString, 'trusted_key_usage': SetOfKeyPurposeId, } def _values_spec(self): return self._oid_specs.get(self['type'].native, SetOfAny) _spec_callbacks = { 'values': _values_spec } class Attributes(SetOf): _child_spec = Attribute class Pfx(Sequence): _fields = [ ('version', Version), ('auth_safe', ContentInfo), ('mac_data', MacData, {'optional': True}) ] _authenticated_safe = None @property def authenticated_safe(self): if self._authenticated_safe is None: content = self['auth_safe']['content'] if isinstance(content, SignedData): content = content['content_info']['content'] self._authenticated_safe = AuthenticatedSafe.load(content.native) return self._authenticated_safe class AuthenticatedSafe(SequenceOf): _child_spec = ContentInfo class BagId(ObjectIdentifier): _map = { '1.2.840.113549.1.12.10.1.1': 'key_bag', '1.2.840.113549.1.12.10.1.2': 'pkcs8_shrouded_key_bag', '1.2.840.113549.1.12.10.1.3': 'cert_bag', '1.2.840.113549.1.12.10.1.4': 'crl_bag', '1.2.840.113549.1.12.10.1.5': 'secret_bag', '1.2.840.113549.1.12.10.1.6': 'safe_contents', } class CertId(ObjectIdentifier): _map = { '1.2.840.113549.1.9.22.1': 'x509', '1.2.840.113549.1.9.22.2': 'sdsi', } class CertBag(Sequence): _fields = [ ('cert_id', CertId), ('cert_value', ParsableOctetString, {'tag_type': 'explicit', 'tag': 0}), ] _oid_pair = ('cert_id', 'cert_value') _oid_specs = { 'x509': Certificate, } class CrlBag(Sequence): _fields = [ ('crl_id', ObjectIdentifier), ('crl_value', OctetString, {'tag_type': 'explicit', 'tag': 0}), ] class SecretBag(Sequence): _fields = [ ('secret_type_id', ObjectIdentifier), ('secret_value', OctetString, {'tag_type': 'explicit', 'tag': 0}), ] class SafeContents(SequenceOf): pass class SafeBag(Sequence): _fields = [ ('bag_id', BagId), ('bag_value', Any, {'tag_type': 'explicit', 'tag': 0}), ('bag_attributes', Attributes, {'optional': True}), ] _oid_pair = ('bag_id', 'bag_value') _oid_specs = { 'key_bag': PrivateKeyInfo, 'pkcs8_shrouded_key_bag': EncryptedPrivateKeyInfo, 'cert_bag': CertBag, 'crl_bag': CrlBag, 'secret_bag': SecretBag, 'safe_contents': SafeContents } SafeContents._child_spec = SafeBag
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server05.hostinghome.co.in
Server IP: 192.168.74.40
PHP Version: 7.4.33
Server Software: Apache
System: Linux server05.hostinghome.co.in 3.10.0-962.3.2.lve1.5.81.el7.x86_64 #1 SMP Wed May 31 10:36:47 UTC 2023 x86_64
HDD Total: 1.95 TB
HDD Free: 690.91 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Disabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: itsweb
User ID (UID): 1619
Group ID (GID): 1621
Script Owner UID: 1619
Current Dir Owner: N/A