包含asn.1javaandroid的詞條

本文目錄一覽:

如何用java實現asn1編解碼..急急急急急急急急急!!!

byte[] content=contentStr.getBytes(“asn1”); //如果asn1是一種編碼,這就是將字元串轉換成asn1的二進位

AES加密 在PC上和Android上不一樣 怎麼解決

你沒有指定RNG的Provider

未指定的情況下 Android 2.3以上版本使用的是 隨機數序列是 Android’s OpenSSL-backed security provider

以下版本是 BouncyCastle Security Provider

JDK 1.7內沒有這個Provider, 這個Android自己搞的,你服務端一定解不出來的。

目前Android支持的 RNG有以下幾種

Android’s OpenSSL-backed security provider 1ASN.1, DER, PkiPath, PKCS7

BouncyCastle Security Provider v1.49 HARMONY (SHA1 digest; SecureRandom; SHA1withDSA signature) Harmony JSSE Provider Android KeyStore security provider

服務端如果也沒指定的話,默認使用的是

SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)

Oracle JDK 1.7 環境下 支持以下

SUN (DSA key/parameter generation; DSA signing; SHA-1, MD5 digests; SecureRandom; X.509 certificates; JKS keystore; PKIX CertPathValidator; PKIX CertPathBuilder; LDAP, Collection CertStores, JavaPolicy Policy; JavaLoginConfig Configuration)

Sun RSA signature provider

Sun Elliptic Curve provider (EC, ECDSA, ECDH)

Sun JSSE provider(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)

SunJCE Provider (implements RSA, DES, Triple DES, AES, Blowfish, ARCFOUR, RC2, PBE, Diffie-Hellman, HMAC)

Sun (Kerberos v5, SPNEGO)

Sun SASL provider(implements client mechanisms for: DIGEST-MD5, GSSAPI, EXTERNAL, PLAIN, CRAM-MD5, NTLM; server mechanisms for: DIGEST-MD5, GSSAPI, CRAM-MD5, NTLM)

XMLDSig (DOM XMLSignatureFactory; DOM KeyInfoFactory)

Sun PC/SC provider

Sun’s Microsoft Crypto API provider

你們服務端要是用的 什麼 OPENJDK 第三方虛擬機,php什麼的話,那就只有天知道支不支持了。

不過你看也知道了 JDK里的都是SUN自己搞的, Android JVM里掛載的不是Android專用的就是第三方開源的,我估計你是找不到一樣的 隨機數生成器 方案了

ASN.1的定義

抽象語法定義:

ASN.1是描述在網路上傳輸信息格式的標準方法。它有兩部分:一部分描述信息內數據,數據類型及序列格式;另一部分描述如何將各部分組成消息。它原來是作為X.409的一部分而開發的,後來才自己獨立成為一個標準。ASN.1在OSI的ISO 8824/ITU X.208(說明語法)和ISO 8825/ITU X.209(說明基本編碼規則)規範。

例如:

Report ::= SEQUENCE {

author OCTET STRING,

title OCTET STRING,

body OCTET STRING,

biblio Bibliography

}

在這個例子中,”Report”是由名字類型的信息組成的,而SEQUENCE表示消息是許多數據單元構成的,前三個數據單元的類型是OCTET STRING,而最後一個數據類型見下面的ASN.1語法表示它的意義:

Bibliography ::= SEQUENCE {

author OCTET STRING

title OCTET STRING

publisher OCTET STRING

year OCTET STRING

}

ASN.1宏定義是什麼意思啊?

一、模塊定義:ASN.1的基本單位是模塊,用於定義一個抽象數據類型,ASN.1的模塊實際上是由一些類型定義和值定義構成,類型的定義是說明類型的名稱和類型的格式,值定義是指將什麼樣的具體值賦給某類型,模塊定義的基本形式

moduleIdentifier DEFINTIONS::=

BEGIN

EXPORTS

AssignmentList

END

其中,moduleIdentifier是模塊名,模塊名的第一個字母必須大寫,EXPORTS結構用於定義其它模塊可以移值的類型或值,而IMPORTS結構規定了模塊中某些定義是從其它模塊中移值過來的,AssignmentList部分包含模塊定義的所有類型、值和宏定義

二、宏表示

ASN.1宏提供創建「模板」來定義宏的方法,MIB對象就是採用宏定義模板來定義的

宏表示:ASN.1提供的一種表示機制,用於定義宏

宏定義:用宏表示定義的一種宏,代表一個宏實例的集合

宏實例:用具體的值來定義宏定義中的變數,而產生的實例,代表一種具體的類型,宏定義的模塊形式為:

macroname MARCO::=

BEGIN

TYPE NOTATION::=user

defined type notation

VALUE

NOTATION::=user defined value notation

supporting syntax

END

其中macroname是宏名,必須全部大寫,宏定義由類型表示,值表示和支持產生式三部分構成,最後一部分是關於宏定義體中類型的詳細語法說明

三、宏實例的定義

當用一個具體值來代替宏定義中的變數(或參數)時就產生了一個宏實例,它表示了一個實際的ASN.1類型,並且規定了該類型可取值的集合,宏實例的定義首先是對象名,然後是宏定義的名字,最後是宏定義規定的宏體部分

icmpIImsgs OBJECT-TYPE

SYNTAX Countter

ACCESSS read-only

STATUS mandatory

::={icmp 1}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249591.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 17:13
下一篇 2024-12-12 17:13

相關推薦

發表回復

登錄後才能評論