Skip to main content

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

Release files for asn1Play 8.6.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asn1Play 8.6.1
File Size Uploaded
asn1play-8.6.1.tar.gz 1.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for asn1Play 8.6.1
File Interpreter ABI Platform
asn1play-8.6.1-py3-none-any.whl Python 3 none any Details

Total release size: 3.4 MB

Release files / asn1play-8.6.1.tar.gz

Download URL asn1play-8.6.1.tar.gz
Size 1.7 MB
Tags Source
SHA-256 checksum
How to use checksums
d5fea1577c94df82d7fbf5ef7405223eb48d8548de8a945e1d246938f1797ca8
BLAKE2b-256 checksum
How to use checksums
f3e666b16a0007f63fc37f8a55e03e6a0ad0fd50cd864838c7cb2693ac7ce8cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 21, 2026.

Transparency log

Release files / asn1play-8.6.1-py3-none-any.whl

Download URL asn1play-8.6.1-py3-none-any.whl
Size 1.8 MB
Tags Python 3
SHA-256 checksum
How to use checksums
2af18555fdbdbd93840a1581f6f43399ab5de51ba2182f75000450a690a45f0e
BLAKE2b-256 checksum
How to use checksums
f016c1398b2e3d4a0ea82e08cf3fd01727bbc7d7291b6d76743cee0a23c71288
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 21, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

8.6.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page