Metadata-Version: 2.4
Name: asn1Play
Version: 8.6.1
Summary: 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.
Home-page: https://github.com/impratikjaiswal/asn1play
Author: Pratik Jaiswal
Author-email: impratikjaiswal@gmail.com
License: GNU GENERAL PUBLIC LICENSE v3.0
Project-URL: Bug Tracker, https://github.com/impratikjaiswal/asn1play/issues
Keywords: ASN1 Play,ASN.1,ASN1,ASN,ASN 1,ASN1 der,Abstract Syntax Notation One,GSMA,TCA,SGP22,SGP.22,SGP32,SGP.32,Asn1 Encoder,Asn1 Decoder,Asn1 Validator,DER,Converter,Encoder,Decoder
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: playHelpers
Requires-Dist: tlvPlay
Requires-Dist: pycrate
Dynamic: author
Dynamic: author-email
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# asn1Play
ASN.1 Encoder, Decoder & Validator.
<BR>Currently supports various versions of below specifications along with their inherited specs:
1. [GSMA SGP.22](https://www.gsma.com/esim/esim-specification/ "GSMA SGP.22" )
1. [TCA eUICC_Profile_Package (SAIP)](https://trustedconnectivityalliance.org/technology-library-sim-specifications/ "SAIP")
1. [GSMA SGP.32](https://www.gsma.com/esim/esim-specification/ "GSMA SGP.32" )

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

# Stats

[![GitHub License](https://img.shields.io/github/license/impratikjaiswal/asn1Play)](LICENSE)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)

[![GitHub Release](https://img.shields.io/github/v/release/impratikjaiswal/asn1Play)](https://github.com/impratikjaiswal/asn1Play/releases/latest)
[![GitHub commits since latest release](https://img.shields.io/github/commits-since/impratikjaiswal/asn1Play/latest)](https://github.com/impratikjaiswal/asn1Play/commits/main/)

[![Static Badge](https://img.shields.io/badge/amenitypj.in/asn1Play-a?label=website%20url)](https://amenitypj.in/asn1Play)
[![Website](https://img.shields.io/website?url=https://amenitypj.in/asn1Play&label=website%20status)](https://amenitypj.in/asn1Play)

[![Static Badge](https://img.shields.io/badge/impratikjaiswal.github.io/asn1Play-a?label=gihub%20website%20url)](https://impratikjaiswal.github.io/asn1Play)
[![Website](https://img.shields.io/website?url=https://impratikjaiswal.github.io/asn1Play&label=website%20status)](https://impratikjaiswal.github.io/asn1Play)

# Url(s) of AmenityPj

Refer [Url(s) of AmenityPj](https://impratikjaiswal.github.io/amenitypj/#urls-of-amenitypj) for details.

# Screen Shot(s) of Web App [![Static Badge](https://img.shields.io/badge/amenitypj.in-a)](https://amenitypj.in/) 
![sample_web_1](https://github.com/impratikjaiswal/asn1Play/blob/main/static/images/sample_web_1.gif?raw=true)

# Installation/Setup

Steps can be found [here](https://github.com/impratikjaiswal/pythonHelpers/blob/main/HOW_TO_INSTALL_PYTHON_APPS.md).

# How To Use

There are various ways to Get Started:

- Online Mode
    - Website [![Static Badge](https://img.shields.io/badge/amenitypj.in-a)](https://amenitypj.in/) 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](https://github.com/impratikjaiswal/amenitypj) can be used

# Help

Issue tracker can be found [here](CONTRIBUTING.md#issue-tracker).

# Contributing

- Code of Conduct can be found [here](CODE_OF_CONDUCT.md).
- Contributing Guidelines can be found [here](CONTRIBUTING.md).

# 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

  - <b>\asn1Play\data\sample_data</b>: Sample Data folder containing various version specific data files.
  - <b>\asn1Play\data\user_data</b>: 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
