ASN.1编码/语法以及相关第三方模块使用
前言:这篇笔记是关于ASN1编码的学习笔记,因为后面自己想写一些kerberos的通信代码来深入了解kerberos的通信。
参考文章:https://blog.csdn.net/qq_14945847/article/details/79369041
什么是ASN.1
为了解决高级语言中结构化数据在网络传输中的结构关系能送达目的地进行还原,出现了以下几种数据序列化的方法:ASN.1,XML,Json等。
ASN.1本身只定义了表示信息的抽象句法,但是没有限定其编码的方法,它与语言实现和物理标识无关。
各种ASN.1编码规则提供了由ASN.1描述其抽象句法的数据的值的传送语法(具体表达)。
标准的ASN.1编码规则有基本编码规则(BER,Basic Encoding Rules)、规范编码规则(CER,Canonical Encoding Rules)、唯一编码规则(DER,Distinguished Encoding Rules)、压缩编码规则(PER,Packed Encoding Rules)和XML编码规则(XER,XML EncodingRules)。
ASN.1语法
先来如下一个例子来进行学习,
Report ::=SEQUENCE { author OCTETSTRING, title OCTETSTRING, body OCTETSTRING, biblio Bibliography }
kerberos
"%ASN1C%"\bin\asn1cpp.exe "%ASN1C%"\asn1dflt\asn1dflt.msx64.zp8 KerberosV5Spec2.asn KerberosV5-PK-INIT-SPEC.asn PKIX1Explicit88.asn PKINIT.asn MS-SFU-KILE.asn -noSampleCode -der -root -externalName chibd_asn1 -messageFormat msvc -verbose -headerFile kull_m_kerberos_oss_asn1_internal.h -out kull_m_kerberos_oss_asn1_internal_x64.cpp
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
2019-12-04 实现:探测可提权目录脚本
2019-12-04 实现:递归遍历目录