0. Open the files csca.pem and csca.der and check the content. 1. Use openssl x509 command and transform csca.der (DER format) to csca2.pem (PEM format). Compare the csca.pem and csca2.pem. 2. Use openssl x509 command and display the content of the certificate. Python: ASN1_decoder.py 3. Decode csca.pem to csca2.der (DER format = bytes) and compare the with csca.der. They should be equal if done correctly. Slightly edit corresponding part of the provided script that loads the files, strips the armor, and decodes .pem to bytes i.e. to DER format. 4. Display the content of csca.der file. You can use: 1. openssl asn1parse -inform DER -in csca.der 2. Asn1Editor-v1.3.6.exe 3. unber (part of asn1c see 6. below) Python: ASN1_decoder.py 5. The task here is to implement the function that computes the length (L) of the value(V) for some TLV. See the script for more details. Subtask: print out also the values - integers, strings, UTC time. C: Extracting exponent of the RSA private key 6. Installing asn1c on aisa (own computer: sudo apt-get install -y asn1c): Use WinSCP to copy copy_to_aisa.zip to your home/local (if no local there create using mkdir). Change directory: cd ~/local Unzip with: unzip copy_to_aisa.zip Change access permissions: chmod 777 asn1-install.sh Install compiler with: ./asn1-install.sh Try asn1c -help Prepare the C and H files for the ASN.1 structures - rsa.asn1 defines the grammar i.e. meaning of the fields (defined in RFC3447 https://datatracker.ietf.org/doc/html/rfc3447): asn1c rsa.asn1 -fwide-types Compile: rm converter_example.c gcc *.c -o main -I. -DPDU=RSAPrivateKey -w Execute: ./main 7. Repeat 6. but with python - see https://github.com/eerimoq/asn1tools/blob/master/examples/x509_pem.py as as an example. It takes grammar from rfc5280 for the certificate.