Module bus.crypto

Class ASN1

java.lang.Object
org.miaixz.bus.crypto.center.ASN1

public class ASN1 extends Object
ASN.1 – Abstract Syntax Notation dot one,抽象记法1 工具类。 ASN.1描述了一种对数据进行表示、编码、传输和解码的数据格式。它的编码格式包括DER、BER、DL等
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • ASN1

      public ASN1()
  • Method Details

    • encodeDer

      public static byte[] encodeDer(org.bouncycastle.asn1.ASN1Encodable... elements)
      编码为DER格式
      Parameters:
      elements - ASN.1元素
      Returns:
      编码后的bytes
    • encode

      public static byte[] encode(String asn1Encoding, org.bouncycastle.asn1.ASN1Encodable... elements)
      编码为指定ASN1格式
      Parameters:
      asn1Encoding - 编码格式,见ASN1Encoding,可选DER、BER或DL
      elements - ASN.1元素
      Returns:
      编码后的bytes
    • encodeTo

      public static void encodeTo(String asn1Encoding, OutputStream out, org.bouncycastle.asn1.ASN1Encodable... elements)
      编码为指定ASN1格式
      Parameters:
      asn1Encoding - 编码格式,见ASN1Encoding,可选DER、BER或DL
      out - 输出流
      elements - ASN.1元素
    • decode

      public static org.bouncycastle.asn1.ASN1Object decode(InputStream in)
      读取ASN.1数据流为ASN1Object
      Parameters:
      in - ASN.1数据
      Returns:
      ASN1Object
    • getDumpString

      public static String getDumpString(InputStream in)
      获取ASN1格式的导出格式,一般用于调试
      Parameters:
      in - ASN.1数据
      Returns:
      ASN1Object的字符串表示形式
      See Also:
      • ASN1Dump.dumpAsString(Object)
    • createX500Name

      public static org.bouncycastle.asn1.x500.X500Name createX500Name(String C, String ST, String L, String O, String OU, String CN)
      生成X500Name信息
      Parameters:
      C - Country Name (国家代号),eg: CN
      ST - State or Province Name (洲或者省份),eg: Beijing
      L - Locality Name (城市名),eg: Beijing
      O - Organization Name (可以是公司名称),
      OU - Organizational Unit Name (可以是单位部门名称)
      CN - Common Name (服务器ip或者域名),eg: 192.168.30.71 or www.baidu.com
      Returns:
      X500Name