impratikjaiswal / tlvPlay

Backend app of https://amenitypj.in/tlvPlay https://impratikjaiswal.github.io/tlvPlay
https://amenitypj.in/tlvPlay
GNU General Public License v3.0
1 stars 0 forks source link

TLV Builder; Function to convert der data to tlv objects #2

Open abhishek1147 opened 1 month ago

abhishek1147 commented 1 month ago

Use Case: I have data in der format of different components of a request and I want to create a full combined request in tlv format for euicc. Sample: Asn of AuthenticateServerRequest is: AuthenticateServerRequest ::= [56] SEQUENCE { -- Tag 'BF38' serverSigned1 ServerSigned1, -- Signed information serverSignature1 [APPLICATION 55] OCTET STRING, -- tag '5F37' euiccCiPKIdToBeUsed SubjectKeyIdentifier, -- CI Public Key Identifier to be used serverCertificate Certificate, -- RSP Server Certificate CERT.XXauth.ECDSA ctxParams1 CtxParams1 } Data that I have is:(contains all the components mentioned in above asn) sample = { 'serverSigned1':'3051800854f81e9f6997d6a281102c66a16cf268632499480253796a34208321697574736d6470706c7573312d7072652d70726f642e6578616d706c652e636f6d8410f0a9217a4f754bf4a52a6299f484d214', 'serverSignature1':'5f374013364950178ad7dbd28efc7bedbe6e5315c55757b981c0181aba59d54d55b514778858521c8aa7881b3d8252a99840d099dd0d6715dae5de1d7da49746008b78', 'euiccCiPKIdToBeUsed': '0414f54172bdf98a95d65cbeb88a38a1c11d800a85c3', 'serverCertificate':'30820238308201dfa00302010202020100300a06082a8648ce3d04030230443110300e06035504030c07546573742043493111300f060355040b0c0854455354434552543110300e060355040a0c0752535054455354310b3009060355040613024954301e170d3230303430313038333133305a170d3330303333303038333133305a3025310d300b060355040a0c0441434d453114301206035504030c0b5445535420534d2d44502b3059301306072a8648ce3d020106082a8648ce3d030107034200044dfed4f4694791bf1695cea0307a35b418019695387bb75b7d2447b6b5209f0445ae4e5e521cd13888d75fe07c8580222ae20dbaac1d77cd76304993421bd739a381df3081dc301f0603551d23041830168014f54172bdf98a95d65cbeb88a38a1c11d800a85c3301d0603551d0e04160414bd5a82cc1a96602118ba7560a1ff83a78b210be5300e0603551d1104073005880388370a300e0603551d0f0101ff04040302078030170603551d200101ff040d300b300906076781120102010430610603551d1f045a3058302aa028a0268624687474703a2f2f63692e746573742e6578616d706c652e636f6d2f43524c2d412e63726c302aa028a0268624687474703a2f2f63692e746573742e6578616d706c652e636f6d2f43524c2d422e63726c300a06082a8648ce3d040302034700304402200823ee7dfa5e3dd07838e930f81bc34ae99f06cba35927fe9e502c464dc1fee302200d2d4087db01a5382d21690ac0488b15067fb2460d336332446ca99f08a8a4ef', 'ctxParams1':'3839323939303930313233343536373939353446A112800435827509A10A81030900008503090000' } Expected result: BF388203143051800854F81E9F6997D6A281102C66A16CF268632499480253796A34208321697574736D6470706C7573312D7072652D70726F642E6578616D706C652E636F6D8410F0A9217A4F754BF4A52A6299F484D2145F374013364950178AD7DBD28EFC7BEDBE6E5315C55757B981C0181ABA59D54D55B514778858521C8AA7881B3D8252A99840D099DD0D6715DAE5DE1D7DA49746008B780414F54172BDF98A95D65CBEB88A38A1C11D800A85C330820238308201DFA00302010202020100300A06082A8648CE3D04030230443110300E06035504030C07546573742043493111300F060355040B0C0854455354434552543110300E060355040A0C0752535054455354310B3009060355040613024954301E170D3230303430313038333133305A170D3330303333303038333133305A3025310D300B060355040A0C0441434D453114301206035504030C0B5445535420534D2D44502B3059301306072A8648CE3D020106082A8648CE3D030107034200044DFED4F4694791BF1695CEA0307A35B418019695387BB75B7D2447B6B5209F0445AE4E5E521CD13888D75FE07C8580222AE20DBAAC1D77CD76304993421BD739A381DF3081DC301F0603551D23041830168014F54172BDF98A95D65CBEB88A38A1C11D800A85C3301D0603551D0E04160414BD5A82CC1A96602118BA7560A1FF83A78B210BE5300E0603551D1104073005880388370A300E0603551D0F0101FF04040302078030170603551D200101FF040D300B300906076781120102010430610603551D1F045A3058302AA028A0268624687474703A2F2F63692E746573742E6578616D706C652E636F6D2F43524C2D412E63726C302AA028A0268624687474703A2F2F63692E746573742E6578616D706C652E636F6D2F43524C2D422E63726C300A06082A8648CE3D040302034700304402200823EE7DFA5E3DD07838E930F81BC34AE99F06CBA35927FE9E502C464DC1FEE302200D2D4087DB01A5382D21690AC0488B15067FB2460D336332446CA99F08A8A4EFA02A80143839323939303930313233343536373939353446A112800435827509A10A81030900008503090000

impratikjaiswal commented 1 month ago

Dear @abhishek1147 ,

Acknowledged. Looks like you need a TLV builder. currently only TLV Parser is supported.

Will add it.