Skip to main content

ASN.1 Encoder, Decoder & validator. Supports various versions of GSMA SGP.22, GSMA SGP.32, TCA eUICC Profile Package (SAIP) specifications along with their inherited specs.

Project description

asn1Play

ASN.1 Encoder, Decoder & Validator.
Currently supports various versions of below specifications along with their inherited specs:

  1. GSMA SGP.22
  2. TCA eUICC_Profile_Package (SAIP)
  3. GSMA SGP.32


However, Tool can be extended to support any ASN1 based conversion (asn1schema of related specification needs to be added to tool).
Supports large variety of encoding-decoding rules (DER, JER, JSON, BER, CER, APER, COER, OER, UPER etc).

Stats

GitHub License Contributor Covenant

GitHub Release GitHub commits since latest release

Static Badge Website

Static Badge Website

Url(s) of AmenityPj

Refer Url(s) of AmenityPj for details.

Screen Shot(s) of Web App Static Badge

sample_web_1

Installation/Setup

Steps can be found here.

How To Use

There are various ways to Get Started:

  • Online Mode
    • Website Static Badge can be used
  • Offline Mode (Requires Download / Cloning of the Repo)
    • Code can be directly run from asn1Play/asn1_play/main/asn1play.py using any IDE
    • Local Web Server App amenitypj can be used

Help

Issue tracker can be found here.

Contributing

  • Code of Conduct can be found here.
  • Contributing Guidelines can be found here.

Few Major Features

  • Auto Trimming of HEX Data (White Spaces Deletion).
  • Auto Detection of Base64 & Hex data.
  • Auto Detection of ByteArraySigned & ByteArrayUnSigned.
  • Conversion Mode for HEX, ASCII, TEXT & Base64.
  • Support of "Individual Mode"; Raw/Target Data can be configured Directly or file path (Binary as well as Text File; any extension) can be passed.
  • Support of "Bulk Mode"; Raw/Target Data can be configured Directly in List/Array format or Directory Path can be passed (Files with Known extensions will be picked based on Input Format).
  • Support of "Yml Mode (Config Mode)"; Raw/Target Data (along with all needed config) can be configured Directly in Yaml Files (".yaml" or ".yml" extensions), and same cane be passed in "Individual Mode" or "Bulk Mode".
  • For Known File Extensions (".asn1", ".asn", ".base64", ".hex"), Input/Output Format may be modified automatically as per sensible out-of-the-box defaults.

Data Folders

  • \asn1Play\data\sample_data: Sample Data folder containing various version specific data files.
  • \asn1Play\data\user_data: User Data folder containing various version specific data files (Default Output Directory).

Sample Usage References

To Refer Sample usages, search for below keywords in source code (\asn1Play\asn1_play\main\data_type) and/or in data folders.

  • .Asn1Files;
  • .Base64Files;
  • .HexFiles;
  • .YmlFiles;
  • AsciiInput;
  • AsciiOutput;
  • TxtInput;
  • TxtOutput;
  • Asn1Element;
  • Asn1Schema;
  • Asn1ElementString;
  • Asn1ElementVariable;
  • Asn1Input;
  • Asn1Output;
  • Base64Input;
  • Base64Output;
  • BulkMode;
  • ByteArrayInput;
  • ByteArrayOutput;
  • ByteArraySignedInput;
  • ByteArraySignedOutput;
  • Certificate;
  • Der64Input;
  • Der64Output;
  • DerInput;
  • DerOutput;
  • DirectInput;
  • DirectoryInput;
  • DirectoryOutput;
  • EimConfigurationData;
  • ExportKeyword;
  • ExportedInput;
  • ExtendRemarksList;
  • FileInput;
  • HexInput;
  • HexOutput;
  • ItemIndexVariable;
  • ListInput;
  • OutputFile;
  • OutputKeyword;
  • PE_End;
  • ProfileElement;
  • ReParseOutput;
  • RemarksVariable;
  • StoreMetadataRequest;
  • TlvParsing;
  • UpdateMetadataRequest;
  • VersionVariable;
  • YmlInput;
  • YmlOutput;
  • YmlOutputSameFile;

Reserve Variables

  • $version
    • Used for input_path, when version of asn specification needs to be considered in file path on run time.
  • $remarks
    • Used for output_file_path, when Remarks needs to be considered in output path.
  • $asn1_element
    • Used for remarks, when Asn Element Name needs to be considered in remarks.
  • $item_index
    • Used for output_file_path, when Item Index (For Bulk Mode) needs to be considered in output path.

Reserve Keywords

  • output
    • Used for output in file.
  • export
    • Used for export mode. Export of configuration in .yml file.

Important Points

  • For output_file, Both "directory path" and "file path" (identified based on any extension) are supported, Hence a path without extension will be considered as directory.
  • For input/output via files/directory, always enclosed path with r''. Here "r" denotes raw string and avoid escape sequences, otherwise it might be considered as normal input.
  • output keyword always utilize comments
  • output file utilize comments in case of directory or if file name is having $REMARKS

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asn1play-8.6.1.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asn1play-8.6.1-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file asn1play-8.6.1.tar.gz.

File metadata

  • Download URL: asn1play-8.6.1.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for asn1play-8.6.1.tar.gz
Algorithm Hash digest
SHA256 d5fea1577c94df82d7fbf5ef7405223eb48d8548de8a945e1d246938f1797ca8
MD5 399ddd212f8b9cfedc075072e3a723dd
BLAKE2b-256 f3e666b16a0007f63fc37f8a55e03e6a0ad0fd50cd864838c7cb2693ac7ce8cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for asn1play-8.6.1.tar.gz:

Publisher: python-publish-pypi.yml on impratikjaiswal/asn1Play

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file asn1play-8.6.1-py3-none-any.whl.

File metadata

  • Download URL: asn1play-8.6.1-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for asn1play-8.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2af18555fdbdbd93840a1581f6f43399ab5de51ba2182f75000450a690a45f0e
MD5 91251532f1bb1318f405bcb566a8750d
BLAKE2b-256 f016c1398b2e3d4a0ea82e08cf3fd01727bbc7d7291b6d76743cee0a23c71288

See more details on using hashes here.

Provenance

The following attestation bundles were made for asn1play-8.6.1-py3-none-any.whl:

Publisher: python-publish-pypi.yml on impratikjaiswal/asn1Play

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page