• C、Java、Python对ASN.1的编解码环境配置


    一、前言:
    除了python,c和java是通过ASN LAB提供的编译包和运行包进行编码的。
    ASN LAB的页面提供了中文,十分友好,就是加载有点慢。
    ASN.1 C编译器使用入门:http://www.asnlab.cn/asncc/gettingstarted.html
    ASN lab下载:http://www.asnlab.cn/downloads.html#update_site
    免费试用License:www.asnlab.cn/freetrial.html?product=asncc
    主要来说,先通过Eclipse中的ASN lab提供的插件,进行编译,然后再进行运行(赋值和编码)

    二、操作系统环境与软件支持
    操作系统环境:Windows+Linux(这里我用的是这学期网络对抗技术这门课上用的kali,Ubuntu在上一台电脑上,这台电脑没装)
    软件支持:
    Java:Eclipse(Windows)+ASNlab插件
    C:gcc(kali)
    Python:PyCharm Community Edition 2020.1 x64

    三、安装Eclipse及配置Java环境
    1.首先是安装Eclipse

    2.安装ASNlab插件
    (1)点击Help->Install New Software
    (2)新建一个work with
    http://www.asnlab.org/updates
    遇到的问题:安装出错
    解决办法:挂VPN再重新操作
    (3)选择需要的编译器和SDK
    本文需要C和Java的编译器,需要只勾选这两个和下面的SDK
    (4)插件的下载(会提醒安装成功或失败,如果成功的话重新进行之前的操作会发现)
    正常点击install就可以
    (5)申请License并设置
    首先去www.asnlab.cn/freetrial.html?product=asncc进行申请
    一次只能申请一个语言的编译器,C和Java需要分别进行申请。
    然后是Eclipse设置
    设置License步骤:
    打开Eclipse,在Windows > Preferences, 复制并粘贴试用License到ASN.1 > > General > Serial Number.

    3.ASN编译
    如果上述步骤成功完成,就可以新建一个ASN.1的project
    参考:http://www.asnlab.cn/asncc/gettingstarted.html
    打开Eclipse,在File > New > Project.. > ASN.1 > ASN.1 project
    (1)在source文件夹下,新建一个ASN Module
    然后复制你需要的ASN文件
    例:

    RectangleModule DEFINITIONS ::= BEGIN
    
    Rectangle ::= SEQUENCE {
    
        height  INTEGER,
    
        width   INTEGER,
    
        author  OCTET STRING
    
    }
    
    END       
    

    定义了两个INTEGER类型,一个 OCTET STRING类型。
    (2)编译!
    输入ASN之后,进行保存,正常情况会在ASN.1 project下的output文件件下的C和Java文件夹自动进行编译,输出结果。

  • 相关阅读:
    PAT 1010. 一元多项式求导 (25)
    PAT 1009. 说反话 (20) JAVA
    PAT 1009. 说反话 (20)
    PAT 1007. 素数对猜想 (20)
    POJ 2752 Seek the Name, Seek the Fame KMP
    POJ 2406 Power Strings KMP
    ZOJ3811 Untrusted Patrol
    Codeforces Round #265 (Div. 2) 题解
    Topcoder SRM632 DIV2 解题报告
    Topcoder SRM631 DIV2 解题报告
  • 原文地址:https://www.cnblogs.com/Brass/p/12770783.html
Copyright © 2020-2023  润新知