87 lines
5.7 KiB
Go
87 lines
5.7 KiB
Go
package identifier
|
|
|
|
import "encoding/asn1"
|
|
|
|
type ObjectIdentifier = asn1.ObjectIdentifier
|
|
|
|
var (
|
|
// GBT 33560
|
|
OIDISOMember = asn1.ObjectIdentifier{1, 2} //国际标准化组织成员标识
|
|
_ = asn1.ObjectIdentifier{1, 2, 156} //中国
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 197} //国家密码管理局
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197} //国家密码行业标准化技术委员会
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 1} //密码算法
|
|
|
|
// 分组密码算法对象标识符
|
|
OIDBlock = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 100} //分组密码算法
|
|
OIDSM1 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 102} //SM1分组密码算法
|
|
OIDSSF33 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 103} //SSF33分组密码算法
|
|
OIDSM4 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 104} //SM4分组密码算法
|
|
|
|
// 序列密码算法对象标识符
|
|
OIDStream = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 200} //序列密码算法
|
|
OIDZUC = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 201} //祖冲之序列密码算法
|
|
|
|
// 公钥密码算法对象标识符
|
|
OIDPublic = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 300} //公钥密码算法
|
|
OIDSM2 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 301} //SM2椭圆曲线公钥密码算法
|
|
OIDSM2Signature = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 301, 1} //SM2-1数字签名算法
|
|
OIDSM2KeyExchange = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 301, 2} //SM2-2密钥交换协议
|
|
OIDSM2Encryption = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 301, 3} //SM2-3公钥加密算法
|
|
|
|
OIDSM9 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302} //SM9 IBC密码算法
|
|
OIDSM9Signature = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 1} //SM9 IBC签名算法
|
|
OIDSM9KeyExchange = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 2} //SM9 IBC密钥交换协议
|
|
OIDSM9Encryption = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 3} //SM9 IBC加密算法
|
|
OIDSM9EncryptionKDF = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 3, 0} //基于KDF加密模式的SM9 IBC加密
|
|
OIDSM9EncryptionECB = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 3, 1} //基于SM4_ECB加密模式的SM9 IBC加密
|
|
OIDSM9EncryptionCBC = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 3, 2} //基于SM4_CBC加密模式的SM9 IBC加密
|
|
OIDSM9EncryptionCFB = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 3, 3} //基于SM4_CFB加密模式的SM9 IBC加密
|
|
OIDSM9EncryptionOFB = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 3, 4} //基于SM4_OFB加密模式的SM9 IBC加密
|
|
OIDSM9KeyEncupsulate = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 302, 4} //SM9 IBC密钥封装机制
|
|
|
|
// 杂凑算法对象标识符
|
|
OIDHash = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 400} //杂凑算法
|
|
OIDSM3 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 401} //SM3密码杂凑算法
|
|
OIDSM3WithoutKey = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 401, 1} //SM3密码杂凑算法,无密钥使用
|
|
OIDSM3WithKey = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 401, 2} //SM3密码杂凑算法,有密钥使用
|
|
|
|
// 组合运算算法对象标识符
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 500} //组合运算机制
|
|
OIDSM3WithSM2Encryption = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 501} //基于SM2算法和SM3算法的签名, name IdSm3WithSm2Encryption is from GB/T 20518-2018 appendix E
|
|
OIDSM3WithRSAEncryption = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 504} //基于RSA算法和SM3算法的签名
|
|
|
|
// CA代码对象标识符
|
|
OIDCA = asn1.ObjectIdentifier{1, 2, 156, 10197, 4, 3} //CA代码
|
|
|
|
// 标准体系对象标识符
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6} //标准体系
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1} //基础类
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 1} //算法类
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 1, 1} //《祖冲之序列密码算法》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 1, 2} //《SM4分组密码算法》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 1, 3} //《SM2椭圆曲线公钥密码算法》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 1, 4} //《SM3密码杂凑算法》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 2} //标识类
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 2, 1} //《密码应用标识规范》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 3} //工作模式
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 4} //安全机制
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 4, 1} //《SM2密码使用规范》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 4, 2} //《SM2加密签名消息语法规范》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 2} //设备类
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 3} //服务类
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 4} //基础设施
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 5} //检测类
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 5, 1} //《随机性检测规范》
|
|
_ = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 6} //管理类
|
|
|
|
// defined in GMT 0091 附录
|
|
// hmac_sm3 是哪个
|
|
// OIDHMacWithSM3 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 401, 3, 1} // hmac_sm3
|
|
OIDHMacWithSM3 = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 401, 2} //SM3密码杂凑算法,有密钥使用
|
|
OIDSM4ECB = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 104, 1} // sm4_ecb
|
|
OIDSM4CBC = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 104, 2} // sm4_cbc
|
|
OIDSM4GCM = asn1.ObjectIdentifier{1, 2, 156, 10197, 1, 104, 10} // sm4_gcm
|
|
OIDPBKDF = asn1.ObjectIdentifier{1, 2, 156, 10197, 6, 1, 4, 1, 5, 1} // PBKDF
|
|
)
|