ASN.1抽象語言標記(Abstract Syntax Notation One) ASN.1是一種 ISO/ITU-T 標準,描述了一種對數據進行表示、編碼、傳輸和解碼的數據格式,它提供了一整套正規的格式用于描述對象的結構。
一、該結構的應用場景
例如在做待簽名的數字信封時,數字信封使用ASN.1封裝,這個時候就需要將簽名值轉換為ASN.1結果的對象。
以下為SM2簽名值的ASN.1結構:
package com.zhangzz.crypto.core.asn1;import com.zhangzz.crypto.core.exception.CommonException;
import org.bouncycastle.asn1.*;import java.math.BigInteger;/*** sm2簽名值* @author zhangzz**/
public class SM2Signature extends ASN1Object{private ASN1Integer r;private ASN1Integer s;public SM2Signature(byte[] r, byte[]s) {this.r = new ASN1Integer(new BigInteger(r));this.s = new ASN1Integer(new BigInteger(s));}public static SM2Signature getInstance(Object obj) {if (o