/** * Type * * A few Asn-1 structures * Copyright (c) 2007 Henri Torgemane * * See LICENSE.txt for full license information. */ package com.hurlant.util.der { import com.hurlant.util.Hex; public class Type { public static const TLS_CERT:Array = [ {name:"signedCertificate", extract:true, value: [ {name:"versionHolder", optional:true, value: [ {name:"version"} ], defaultValue: function():Sequence{ var s:Sequence = new Sequence(0, 0); var v:Integer = new Integer(2,1, Hex.toArray("00")); s.push(v); s.version = v; return s; }() }, {name:"serialNumber"}, {name:"signature", value: [ {name:"algorithmId"} ]}, {name:"issuer", extract:true, value: [ {name:"type"}, {name:"value"} ]}, {name:"validity", value: [ {name:"notBefore"}, {name:"notAfter"} ]}, {name:"subject", extract:true, value: [ ]}, {name:"subjectPublicKeyInfo", value: [ {name:"algorithm", value: [ {name:"algorithmId"} ]}, {name:"subjectPublicKey"} ]}, {name:"extensions", value: [ ]} ]}, {name:"algorithmIdentifier",value:[ {name:"algorithmId"} ]}, {name:"encrypted", value:null} ]; public static const CERTIFICATE:Array = [ {name:"tbsCertificate", value:[ {name:"tag0", value:[ {name:"version"} ]}, {name:"serialNumber"}, {name:"signature"}, {name:"issuer", value:[ {name:"type"}, {name:"value"} ]}, {name:"validity", value:[ {name:"notBefore"}, {name:"notAfter"} ]}, {name:"subject"}, {name:"subjectPublicKeyInfo", value:[ {name:"algorithm"}, {name:"subjectPublicKey"} ]}, {name:"issuerUniqueID"}, {name:"subjectUniqueID"}, {name:"extensions"} ]}, {name:"signatureAlgorithm"}, {name:"signatureValue"} ]; public static const RSA_PUBLIC_KEY:Array = [ {name:"modulus"}, {name:"publicExponent"} ]; public static const RSA_SIGNATURE:Array = [ {name:"algorithm", value:[ {name:"algorithmId"} ]}, {name:"hash"} ]; } }