0

当文件具有此语法并且具有 .air 文件扩展名而不是 .asn 文件扩展名时,如何使用 Java 读取 ASN.1 文件

Tagged[6]IMPLICIT
 Sequence
  Tagged[0]IMPLICIT
   OCTET STRING[3](UGW)
  Tagged[1]IMPLICIT
   OCTET STRING[5](nair1)
  Tagged[3]IMPLICIT
   OCTET STRING[13](6430408182034)
  Tagged[5]IMPLICIT
   OCTET STRING[19](201211113336+0300)
  Tagged[6]IMPLIIT
   OCTET STRING[5](nair1)
4

1 回答 1

0

你的 ASN.1 定义看起来是错误的。我建议将其更正如下:

My-Schema DEFINITIONS IMPLICIT TAGS ::= 
BEGIN
  MySequence ::= SEQUENCE       
  {                                                     
     str1      OCTET STRING (SIZE(1..50)),
     str2      OCTET STRING (SIZE(1..50)),
     str3      OCTET STRING (SIZE(1..50)),
     str4      OCTET STRING (SIZE(1..50)),
     str5      OCTET STRING (SIZE(1..50))
   }                                                     
END

它可以使用 bountycastle ASN.1 API 轻松编码

import org.bouncycastle.asn1.*;

    ASN1EncodableVector v = new ASN1EncodableVector();
    v.add(new DEROctetString("str1".getBytes()));
    v.add(new DEROctetString("str2".getBytes()));
    v.add(new DEROctetString("str3".getBytes()));
    v.add(new DEROctetString("str4".getBytes()));

    byte[] encoded = new DERSequence(v).getEncoded();
于 2019-01-01T07:03:48.533 回答