已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ASN 1inAction 讲解人 刘振新 1 内容提要 ASN 1背景ASN 1基本概念和语法ASN 1编码介绍ASN 1示例 2 ASN 1背景 ASN 1 AbstractSyntaxNotationOne目标 传送语法互联网上数据传输时的表现形式 通常用8位位组的流表示中立作为标准的计算机对象描述规则 平台无关 实现无关抽象以字节为基础单位 能够描述各种复杂的对象结构 3 ASN 1背景 SyntaxASN 1 AbstractSyntaxNotationOneRulesBER ASN 1BasicEncodingRulesDER ASN 1DistinguishedEncodingRules 4 ASN 1背景 BER ASN 1BasicEncodingRules 定义了一种或几种方法 使用ASN 1语法将数据对象转换成二进制字节码DER ASN 1DistinguishedEncodingRules BER的子集 定义了唯一一种方法 使用ASN 1语法将数据对象转换成二进制字节码 BER DER 5 ASN 1背景 特点标准性高效性扩展性比其他任何一种语言更为丰富的数据结构 6 ASN 1基本概念和语法 基本类型简单类型 原子 的 无分量结构类型有分量标记类型从其他类型衍生而来其他类型CHOICE ANY赋值操作符 用来对类型和值命名 并可用这些名字定义其他类型和值 7 ASN 1基本概念和语法 基本描述语法DigestInfo SEQUENCE digestAlgorithmDigestAlgorithm digestDigest DigestAlgorithm AlgorithmIdentifierDigest OCTETSTRINGAlgorithmIdentifier SEQUENCE algorithmOBJECTIDENTIFIER parametersANYDEFINEDBYalgorithmOPTIONAL 8 ASN 1基本概念和语法 ASN 1中绝大部分类型 除CHOICE和ANY 都有一个标记符标记符 标记符类型 标记符ID标记符类型Universal标准类型Application应用相关 同种ID在不同应用中可能意义不同 Private定义属于特定组织的类型Context Specify上下文相关的类型 定义特定的结构 9 ASN 1基本概念和语法 常用标准ASN 1标记符示例 10 ASN 1基本概念和语法 长度表示 DER编码标准 长度小于127 包含 1字节编码 38表示为 00100110 长度大于127 多字节编码 第一字节为长度字节数 并且bit8为1 201表示为 10000001 11001001 11 ASN 1基本概念和语法 TLV TLVSchema Tag LengthandValueSchemaILC ILCSchema Identifier LengthandConentsSchema Tag Length Value 12 ASN 1基本概念和语法 示例06072A864A86F70D0130820251308201BAA0030201 06 07 2A864A86F70D01 30 820251 308201BAA0030201 13 ASN 1基本概念和语法 OID ObjectIdentifier表示一个诸如算法 属性类型或注册机构对象定义的一个整数序列OID的值由注册机构来赋予 每个注册机构负责定义一个特定的序列开头的所属序列pkcs 1OBJECTIDENTIFIER iso 1 member body 2 US 840 rsadsi 113549 pkcs 1 1 14 ASN 1编码介绍 BouncyCastleorg bouncycastle asn1 OPENSSLc实现的编码库 15 ASN 1编码介绍 Integer编码示例SignedData SEQUENCE versionVersion Version Integer提示 020102 DERIntegerDERIntegerversion newDERInteger newBigInteger 2 16 ASN 1编码介绍 OID编码示例pkcs 1OBJECTIDENTIFIER iso 1 member body 2 US 840 rsadsi 113549 pkcs 1 1 rsaEncryptionOBJECTIDENTIFIER pkcs 11 SHA1WithRSAEncryptionOBJECTIDENTIFIER pkcs 15 提示1 2 840 113549 1 1 5提示 06092A864886F70D010105 DERObjectIdentifierDERObjectIdentifiersha1 rsa newDERObjectIdentifier 1 2 840 113549 1 1 5 17 ASN 1编码介绍 PrintableString编码示例CountryName PRINTABLESTRING提示 1302434E DERPrintableStringDERPrintableStringcn newDERPrintableString CN 18 ASN 1编码介绍 Sequence编码示例SEQUENCE一个或多个给定类型的有序集合SEQUENCEOF0个或多个给定类型的有序集合RSAPublicKey SEQUENCE modulusINTEGER npublicExponentINTEGER e DERSequenceDERIntegermodulus DERIntegerpublicExponent DEREncodableVectorderVector newDEREncodableVector derVector add modulus derVector add publicExponent DERSequencesequence newDERSequence derVector 19 ASN 1编码介绍 Set编码示例SET一个或多个给定类型的无序集合SETOF0个或多个给定类型的无序集合SignerInfos SETOFSignerInfoSignerInfo SEQUENCE DERSetDERSequencesignerInfo1 DERSequencesignerInfo2 DEREncodableVectorderVector newDEREncodableVector derVector add signerInfo1 derVector add signerInfo2 DERSetset newDERSet derVector 20 ASN 1编码介绍 BitString任意的01比特流 长度可以为任意值 包括0 DERBitStringbyte data DERBitStringderBitString newDERBitString data OctetString任意的字节流 长度可以为任意值 包括0 DEROctetStringbyte data DEROctetStringderOctetString newDEROctetString data 21 ASN 1编码介绍 TaggedObjectContext specifyIMPLICIT 改变下层类型标签EXPLICIT 在外层增加类型标签extendedCertificate 0 IMPLICITExtendedCertificateDERTaggedObject 定义DERTaggedObject booleanexplicit inttagNo DEREncodablederObj DERObjectextCert DERTaggedObjectextendCertificate newDERTaggedObject false 0 extCert 22 ASN 1编码介绍 Choice编码示例Context SpecifyImplicit改变下层类型标签Explicit在外层增加类型标签一个或多个备选项的联合体CHOICE identifier1 type1 identifier2 type2 identifier3 type3 23 ASN 1编码介绍 Choice编码示例ExtendedCertificateOrCertificate CHOICE certificateCertificate X 509extendedCertificate 0 IMPLICITExtendedCertificate 提示如果选择certificate项 则Identifieroctet项为30提示如果选择extendedCertificate项 则identifieroctet项是A0 24 ASN 1编码介绍 其他常用对象DERObjectimplementsDEREncodableDERInputStream ASN1InputStreamDEROutputStream ASN1OutputStreamDERInputStreamdis newDERInputStream newFileInputStream xxx DERObjectderObj dis readObject DEROutputStreamdos newDEROputStream newFileOutputStream xxx dos writeObject derObject 编解码规则深入浅出 编码用DER对象 解码用ASN1对象 25 ASN 1示例 工具ASN1ViewerGUIdumpASN 26 ASN 1示例 Integer Length Value 27 ASN 1示例 SignedData SEQUENCE versionVersion digestAlgorithmsDigestAlgorithmIdentifiers contentInfoContentInfo certificates 0 IMPLICITExtendedCertificatesAndCertificatesOPTIONAL crls 1 IMPLICITCertificateRevocationListsOPTIONAL signerInfosSignerInfos DigestAlgorithmIdentifiers SETOFDigestAlgorithmIdentifierSignerInfos SETOFSignerInfoSignerInfo SEQUENCE versionVersion issuerAndSerialNumberIssuerAndSerialNumber digestAlgorithmDigestAlgorithmIdentifier authenticatedAttributes 0 IMPLICITAttributesOPTIONAL digestEncryptionAlgorithmDigestEncryptionAlgorithmIdentifier encryptedDigestEncryptedDigest unauthenticatedAttributes 1 IMPLICITAttributesOPTIONAL EncryptedDigest OCTETSTRING 28 参考文献 ASN 1培训 2002 童军水ASN 1培训 2003 催万瑞ASN 1 BER DER编码子集入门指南 1993 RSA实验室BurtoS KaliskiJr X 690ASN 1EncodingRules 2002 InternationalTelecommunicationUnion ITU 29 谢谢观看 FAQ 30 HOMEWORK CustomDigestData SEQUENCE versionVersion content 0 EXPLICITContent digestAlgorithmAlgorithmIdentif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年棉花加工合作协议
- 妇幼保健工作中存在的问题及建议
- 2025年碳中和目标下的减排项目可行性研究报告及总结分析
- 2025年教育科技行业在线教育课程内容优化研究报告及未来发展趋势
- 2025年计算机体系结构专升本专项训练试卷(含答案)
- 2025年电池存储系统研发与应用可行性研究报告及总结分析
- 2025年碳中和项目规划可行性研究报告及总结分析
- 2025年连锁餐饮商品电子价签改造合同协议
- 云南省专升本试卷真题及答案
- 2025年基因检测市场拓展可行性研究报告及总结分析
- (4)-1.1 正确认识人的本质
- 珍珠棉、气泡膜物质安全资料表MSDS
- 《特殊教育概论》其他障碍儿童
- 混凝土试验室仪器操作规程完整
- 8.12天津滨海新区爆炸事故带来的工程伦理思考
- 2023山东省考行测真题
- 电厂安全生产事故应急预案模板
- midas Gen减震分析设计(上)
- GA 1805-2022危险化学品经营企业反恐怖防范要求
- GB/T 28704-2012无损检测磁致伸缩超声导波检测方法
- GB/T 27024-2014合格评定人员认证机构通用要求
评论
0/150
提交评论