f49ea82003-01-27Martin Nilsson // // Object identifiers
a20af62000-09-26Fredrik Hübinette (Hubbe) 
f49ea82003-01-27Martin Nilsson #pike __REAL_VERSION__ #pragma strict_types
204d6f1997-11-30Niels Möller 
ae7c432003-11-11Henrik Grubbström (Grubba) //! Various ASN.1 identifiers used by PKCS.
afa3792015-11-14Henrik Grubbström (Grubba) //! //! @seealso //! @rfc{2459@}, @rfc{3279@}, @rfc{3280@}, @rfc{3447@}, @rfc{4055@}, //! @rfc{4985@}, @rfc{5480@}, @rfc{5639@}
ae7c432003-11-11Henrik Grubbström (Grubba) 
204d6f1997-11-30Niels Möller /* Attributes (from http://leangen.uninett.no:29659/~hta/ietf/oid/2.5.4.html):
5d56ec1999-02-19Niels Möller  (by 1999-01-25, a better URL is http://www.alvestrand.no/objectid/top.html)
204d6f1997-11-30Niels Möller 
3524712015-05-26Martin Nilsson  2.5.4.0 - id-at-objectClass 2.5.4.1 - id-at-aliasedEntryName 2.5.4.2 - id-at-knowldgeinformation 2.5.4.3 - id-at-commonName 2.5.4.4 - id-at-surname 2.5.4.5 - id-at-serialNumber 2.5.4.6 - id-at-countryName 2.5.4.7 - id-at-localityName (1 more) 2.5.4.8 - id-at-stateOrProvinceName (1 more) 2.5.4.9 - id-at-streetAddress (1 more) 2.5.4.10 - id-at-organizationName (1 more) 2.5.4.11 - id-at-organizationalUnitName (1 more) 2.5.4.12 - id-at-title 2.5.4.13 - id-at-description 2.5.4.14 - id-at-searchGuide 2.5.4.15 - id-at-businessCategory 2.5.4.16 - id-at-postalAddress (1 more) 2.5.4.17 - id-at-postalCode (1 more) 2.5.4.18 - id-at-postOfficeBox (1 more) 2.5.4.19 - id-at-physicalDeliveryOfficeName (1 more) 2.5.4.20 - id-at-telephoneNumber (1 more) 2.5.4.21 - id-at-telexNumber (1 more) 2.5.4.22 - id-at-teletexTerminalIdentifier (1 more) 2.5.4.23 - id-at-facsimileTelephoneNumber (1 more) 2.5.4.24 - id-at-x121Address 2.5.4.25 - id-at-internationalISDNNumber (1 more) 2.5.4.26 - id-at-registeredAddress 2.5.4.27 - id-at-destinationIndicator 2.5.4.28 - id-at-preferredDeliveryMethod 2.5.4.29 - id-at-presentationAddress 2.5.4.30 - id-at-supportedApplicationContext 2.5.4.31 - id-at-member 2.5.4.32 - id-at-owner 2.5.4.33 - id-at-roleOccupant 2.5.4.34 - id-at-seeAlso 2.5.4.35 - id-at-userPassword 2.5.4.36 - id-at-userCertificate
204d6f1997-11-30Niels Möller  2.5.4.37 - id-at-cACertificate
3524712015-05-26Martin Nilsson  2.5.4.38 - id-at-authorityRevocationList 2.5.4.39 - id-at-certificateRevocationList 2.5.4.40 - id-at-crossCertificatePair 2.5.4.41 - id-at-name 2.5.4.42 - id-at-givenName 2.5.4.43 - id-at-initials 2.5.4.44 - id-at-generationQualifier 2.5.4.45 - id-at-uniqueIdentifier 2.5.4.46 - id-at-dnQualifier 2.5.4.47 - id-at-enhancedSearchGuide 2.5.4.48 - id-at-protocolInformation 2.5.4.49 - id-at-distinguishedName 2.5.4.50 - id-at-uniqueMember 2.5.4.51 - id-at-houseIdentifier 2.5.4.52 - id-at-supportedAlgorithms
204d6f1997-11-30Niels Möller  2.5.4.53 - id-at-deltaRevocationList */
77c3c11998-06-13Niels Möller import Standards.ASN1.Types;
204d6f1997-11-30Niels Möller 
f49ea82003-01-27Martin Nilsson Identifier pkcs_id = Identifier(1, 2, 840, 113549, 1); Identifier pkcs_1_id = pkcs_id->append(1); Identifier pkcs_9_id = pkcs_id->append(9);
204d6f1997-11-30Niels Möller 
008ddc2014-12-23Henrik Grubbström (Grubba) /* For public key (RFC 4055 1.2). */
f49ea82003-01-27Martin Nilsson Identifier rsa_id = pkcs_1_id->append(1);
54527e1999-03-02Niels Möller  /* Signature algorithms */
008ddc2014-12-23Henrik Grubbström (Grubba) // RFC 3279 2.2.1:
f49ea82003-01-27Martin Nilsson Identifier rsa_md2_id = pkcs_1_id->append(2);
3ef49a2013-10-28Martin Nilsson // Identifier rsa_md4_id = pkcs_1_id->append(3);
f49ea82003-01-27Martin Nilsson Identifier rsa_md5_id = pkcs_1_id->append(4); Identifier rsa_sha1_id = pkcs_1_id->append(5);
008ddc2014-12-23Henrik Grubbström (Grubba) // RFC 4055 5:
3ef49a2013-10-28Martin Nilsson Identifier rsa_sha256_id = pkcs_1_id->append(11); Identifier rsa_sha384_id = pkcs_1_id->append(12); Identifier rsa_sha512_id = pkcs_1_id->append(13);
008ddc2014-12-23Henrik Grubbström (Grubba) Identifier rsa_sha224_id = pkcs_1_id->append(14);
6ac8b62017-12-11Martin Nilsson // RFC 8017 a.2.4 Identifier rsa_sha512_224_id = pkcs_1_id->append(15); Identifier rsa_sha512_256_id = pkcs_1_id->append(16);
008ddc2014-12-23Henrik Grubbström (Grubba) // RFC 4055 2.2:
afa3792015-11-14Henrik Grubbström (Grubba) Identifier mgf1_id = pkcs_1_id->append(8); // RFC 3447 a.2.1: Identifier pspecified_id = pkcs_1_id->append(9);
008ddc2014-12-23Henrik Grubbström (Grubba)  // RFC 4055 3.1: Identifier rsassa_pss_id = pkcs_1_id->append(10); // RFC 4055 4.1: Identifier rsaes_oaep_id = pkcs_1_id->append(7);
54527e1999-03-02Niels Möller 
8ceb292014-02-21Martin Nilsson Identifier ecdsa_sha1_id = Identifier(1, 2, 840, 10045, 4, 1);
13907d2013-11-18Martin Nilsson Identifier ecdsa_sha224_id = Identifier(1, 2, 840, 10045, 4, 3, 1); Identifier ecdsa_sha256_id = Identifier(1, 2, 840, 10045, 4, 3, 2); Identifier ecdsa_sha384_id = Identifier(1, 2, 840, 10045, 4, 3, 3); Identifier ecdsa_sha512_id = Identifier(1, 2, 840, 10045, 4, 3, 4);
90b2f82013-12-30Henrik Grubbström (Grubba) /* For public key (unrestricted) from RFC 5480. */ Identifier ec_id = Identifier(1, 2, 840, 10045, 2, 1);
d2b7542014-07-08Henrik Grubbström (Grubba) Identifier ec_public_key_id = ec_id; Identifier ec_dh_id = Identifier(1, 3, 132, 1, 12); Identifier ec_mqw_id = Identifier(1, 3, 132, 1, 13);
90b2f82013-12-30Henrik Grubbström (Grubba)  /* Elliptic Curves from RFC 5480 */ Identifier ecc_secp192r1_id = Identifier(1, 2, 840, 10045, 3, 1, 1); Identifier ecc_sect163k1_id = Identifier(1, 3, 132, 0, 1);
b99e2e2017-10-06Henrik Grubbström (Grubba) Identifier ecc_sect163r1_id = Identifier(1, 3, 132, 0, 2); Identifier ecc_sect239k1_id = Identifier(1, 3, 132, 0, 3); Identifier ecc_sect113r1_id = Identifier(1, 3, 132, 0, 4); Identifier ecc_sect113r2_id = Identifier(1, 3, 132, 0, 5); Identifier ecc_secp112r1_id = Identifier(1, 3, 132, 0, 6); Identifier ecc_secp112r2_id = Identifier(1, 3, 132, 0, 7); Identifier ecc_secp160r1_id = Identifier(1, 3, 132, 0, 8); Identifier ecc_secp160k1_id = Identifier(1, 3, 132, 0, 9); Identifier ecc_secp256k1_id= Identifier(1, 3, 132, 0, 10);
90b2f82013-12-30Henrik Grubbström (Grubba) Identifier ecc_sect163r2_id = Identifier(1, 3, 132, 0, 15);
b99e2e2017-10-06Henrik Grubbström (Grubba) Identifier ecc_sect131r1_id = Identifier(1, 3, 132, 0, 22); Identifier ecc_sect131r2_id = Identifier(1, 3, 132, 0, 23); Identifier ecc_sect193r1_id = Identifier(1, 3, 132, 0, 24); Identifier ecc_sect193r2_id = Identifier(1, 3, 132, 0, 25);
90b2f82013-12-30Henrik Grubbström (Grubba) Identifier ecc_secp224r1_id = Identifier(1, 3, 132, 0, 33); Identifier ecc_sect233k1_id = Identifier(1, 3, 132, 0, 26); Identifier ecc_sect233r1_id = Identifier(1, 3, 132, 0, 27);
b99e2e2017-10-06Henrik Grubbström (Grubba) Identifier ecc_secp128r1_id = Identifier(1, 3, 132, 0, 28); Identifier ecc_secp128r2_id = Identifier(1, 3, 132, 0, 29); Identifier ecc_secp160r2_id = Identifier(1, 3, 132, 0, 30); Identifier ecc_secp192k1r1_id = Identifier(1, 3, 132, 0, 31);
90b2f82013-12-30Henrik Grubbström (Grubba) Identifier ecc_secp256r1_id = Identifier(1, 2, 840, 10045, 3, 1, 7); Identifier ecc_sect283k1_id = Identifier(1, 3, 132, 0, 16); Identifier ecc_sect283r1_id = Identifier(1, 3, 132, 0, 17); Identifier ecc_secp384r1_id = Identifier(1, 3, 132, 0, 34); Identifier ecc_sect409k1_id = Identifier(1, 3, 132, 0, 36); Identifier ecc_sect409r1_id = Identifier(1, 3, 132, 0, 37); Identifier ecc_secp521r1_id = Identifier(1, 3, 132, 0, 35); Identifier ecc_sect571k1_id = Identifier(1, 3, 132, 0, 38); Identifier ecc_sect571r1_id = Identifier(1, 3, 132, 0, 39);
0868e32014-07-08Henrik Grubbström (Grubba) /* Brainpool curves from RFC 5639. */ protected Identifier ec_sign_id = Identifier(1, 3, 36, 3, 3, 2); Identifier ec_std_curves_and_generation_id = ec_sign_id->append(8); protected Identifier ec_curve_id = ec_std_curves_and_generation_id->append(1); protected Identifier ec_curve_ver1_id = ec_curve_id->append(1); Identifier brainpool_p160r1 = ec_curve_ver1_id->append(1); Identifier brainpool_p160t1 = ec_curve_ver1_id->append(2); Identifier brainpool_p192r1 = ec_curve_ver1_id->append(3); Identifier brainpool_p192t1 = ec_curve_ver1_id->append(4); Identifier brainpool_p224r1 = ec_curve_ver1_id->append(5); Identifier brainpool_p224t1 = ec_curve_ver1_id->append(6); Identifier brainpool_p256r1 = ec_curve_ver1_id->append(7); Identifier brainpool_p256t1 = ec_curve_ver1_id->append(8); Identifier brainpool_p320r1 = ec_curve_ver1_id->append(9); Identifier brainpool_p320t1 = ec_curve_ver1_id->append(10); Identifier brainpool_p384r1 = ec_curve_ver1_id->append(11); Identifier brainpool_p384t1 = ec_curve_ver1_id->append(12); Identifier brainpool_p521r1 = ec_curve_ver1_id->append(13); Identifier brainpool_p521t1 = ec_curve_ver1_id->append(14);
bb46732017-03-23Henrik Grubbström (Grubba) /* Edwards curves from draft-ietf-curdle-pkix-03. */ protected Identifier ed_curve_algs_id = Identifier(1, 3, 101); Identifier x25519_id = ed_curve_algs_id->append(110); Identifier x448_id = ed_curve_algs_id->append(111); Identifier eddsa25519_id = ed_curve_algs_id->append(112); Identifier eddsa448_id = ed_curve_algs_id->append(113); Identifier eddsa25519ph_id = ed_curve_algs_id->append(114); /* pre-hash */ Identifier eddsa448ph_id = ed_curve_algs_id->append(115); /* pre-hash */
3524712015-05-26Martin Nilsson /* For public key
54527e1999-03-02Niels Möller  id-dsa ID ::= { iso(1) member-body(2) us(840) x9-57(10040) x9cm(4) 1 } */
f49ea82003-01-27Martin Nilsson Identifier dsa_id = Identifier(1, 2, 840, 10040, 4, 1);
54527e1999-03-02Niels Möller 
3524712015-05-26Martin Nilsson /* Signature algorithm
54527e1999-03-02Niels Möller  id-dsa-with-sha1 ID ::= { iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } */
f49ea82003-01-27Martin Nilsson Identifier dsa_sha_id = Identifier(1, 2, 840, 10040, 4, 3);
13907d2013-11-18Martin Nilsson Identifier dsa_sha224_id = Identifier(2, 16, 840, 1, 101, 3, 4, 3, 1); Identifier dsa_sha256_id = Identifier(2, 16, 840, 1, 101, 3, 4, 3, 2);
204d6f1997-11-30Niels Möller 
008ddc2014-12-23Henrik Grubbström (Grubba) // RFC 3279 2.2.1:
f49ea82003-01-27Martin Nilsson Identifier md2_id = Identifier(1, 2, 840, 113549, 2, 2);
8175582013-11-21Martin Nilsson Identifier md4_id = Identifier(1, 2, 840, 113549, 2, 4);
f49ea82003-01-27Martin Nilsson Identifier md5_id = Identifier(1, 2, 840, 113549, 2, 5);
008ddc2014-12-23Henrik Grubbström (Grubba)  // RFC 4055 2.1:
f49ea82003-01-27Martin Nilsson Identifier sha1_id = Identifier(1, 3, 14, 3, 2, 26);
3ef49a2013-10-28Martin Nilsson Identifier sha256_id = Identifier(2, 16, 840, 1, 101, 3, 4, 2, 1); Identifier sha384_id = Identifier(2, 16, 840, 1, 101, 3, 4, 2, 2); Identifier sha512_id = Identifier(2, 16, 840, 1, 101, 3, 4, 2, 3);
008ddc2014-12-23Henrik Grubbström (Grubba) Identifier sha224_id = Identifier(2, 16, 840, 1, 101, 3, 4, 2, 4);
77c3c11998-06-13Niels Möller 
6ac8b62017-12-11Martin Nilsson // RFC 8017 B.1: Identifier sha512_224_id = Identifier(2, 16, 840, 1, 101, 3, 4, 2, 5); Identifier sha512_256_id = Identifier(2, 16, 840, 1, 101, 3, 4, 2, 6);
54527e1999-03-02Niels Möller /* dhpublicnumber OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 } */
f49ea82003-01-27Martin Nilsson Identifier dh_id = Identifier(1, 2, 840, 10046, 2, 1);
54527e1999-03-02Niels Möller 
91e0952016-04-15Henrik Grubbström (Grubba) // RFC 3394 3: Identifier aes_id = Identifier(2, 16, 840, 1, 101, 3, 4, 1); Identifier aes128_wrap_id = aes_id->append(5); Identifier aes192_wrap_id = aes_id->append(25); Identifier aes256_wrap_id = aes_id->append(45);
204d6f1997-11-30Niels Möller /* Object Identifiers used in X509 distinguished names */
f49ea82003-01-27Martin Nilsson Identifier at_id = Identifier(2, 5, 4);
204d6f1997-11-30Niels Möller 
13d8162014-01-25Henrik Grubbström (Grubba) mapping(Identifier:string(7bit)) short_name_ids =
0a38772004-01-26H. William Welliver III ([ at_id->append(3) : "CN", /* printable string */ at_id->append(6) : "C", /* printable string */ at_id->append(7) : "L", /* printable string */ at_id->append(8) : "ST", /* printable string */ at_id->append(10) : "O", /* printable string */
aec9742004-01-29H. William Welliver III  at_id->append(11) : "OU", /* printable string */ Identifier(1, 2, 840, 113549, 1, 9, 1) : "E" /* printable string */
0a38772004-01-26H. William Welliver III ]);
b340112014-04-21Martin Nilsson #define REVERSE(X) mkmapping(values(X),indices(X))
13d8162014-01-25Henrik Grubbström (Grubba)  mapping(string(7bit):Identifier) name_ids =
3524712015-05-26Martin Nilsson ([
204d6f1997-11-30Niels Möller  /* layman.asc says "commonUnitName". Typo? */
f49ea82003-01-27Martin Nilsson  "commonName" : at_id->append(3), /* printable string */ "countryName" : at_id->append(6), /* printable string */ "localityName" : at_id->append(7), /* printable string */ "stateOrProvinceName" : at_id->append(8), /* printable string */
4de5f52013-11-19Martin Nilsson  "streetAddress" : at_id->append(9), /* printable string */
f49ea82003-01-27Martin Nilsson  "organizationName" : at_id->append(10), /* printable string */
4de5f52013-11-19Martin Nilsson  "organizationUnitName" : at_id->append(11), /* printable string */ "postalCode" : at_id->append(17), /* printable string */
54527e1999-03-02Niels Möller  ]);
204d6f1997-11-30Niels Möller 
b340112014-04-21Martin Nilsson mapping(Identifier:string(7bit)) reverse_name_ids = REVERSE(name_ids);
13d8162014-01-25Henrik Grubbström (Grubba)  mapping(string(7bit):Identifier) attribute_ids =
204d6f1997-11-30Niels Möller ([ "emailAddress" : pkcs_9_id->append(1), /* IA5String */ "unstructuredName" : pkcs_9_id->append(2), /* IA5String */ "contentType" : pkcs_9_id->append(3), /* Identifier */ "messageDigest" : pkcs_9_id->append(4), /* Octet string */ "signingTime" : pkcs_9_id->append(5), /* UTCTime */ "countersignature" : pkcs_9_id->append(6), /* SignerInfo */ "challengePassword" : pkcs_9_id->append(7), /* Printable | T61 | Universal */ "unstructuredAddress" : pkcs_9_id->append(8), /* Printable | T61 */
77c3c11998-06-13Niels Möller  "extendedCertificateAttributes" : pkcs_9_id->append(9), /* Attributes */ "friendlyName" : pkcs_9_id->append(20), /* BMPString */ "localKeyID" : pkcs_9_id->append(21) /* OCTET STRING */ ]);
54527e1999-03-02Niels Möller 
13d8162014-01-25Henrik Grubbström (Grubba) mapping(Identifier:string(7bit)) reverse_attribute_ids =
b340112014-04-21Martin Nilsson  REVERSE(attribute_ids);
13d8162014-01-25Henrik Grubbström (Grubba) 
54527e1999-03-02Niels Möller /* From RFC 2459 */
13d8162014-01-25Henrik Grubbström (Grubba) mapping(string(7bit):Identifier) at_ids =
54527e1999-03-02Niels Möller ([ /* All attribute values are a CHOICE of most string types, * including PrintableString, TeletexString (which in practice * means latin1) and UTF8String. */
3524712015-05-26Martin Nilsson  "commonName" : at_id->append(3),
54527e1999-03-02Niels Möller  "surname" : at_id->append(4), "countryName" : at_id->append(6), "localityName" : at_id->append(7), "stateOrProvinceName" : at_id->append(8), "organizationName" : at_id->append(10), "organizationUnitName" : at_id->append(11), "title" : at_id->append(12), "name" : at_id->append(41), "givenName" : at_id->append(42), "initials" : at_id->append(43),
95d3e62014-04-21Martin Nilsson  "generationQualifier" : at_id->append(44),
54527e1999-03-02Niels Möller  /* What does this attribute mean? */ "dnQualifier" : at_id->append(46), /* Obsolete, not recommended. */
3524712015-05-26Martin Nilsson  "emailAddress" : pkcs_9_id->append(1) /* IA5String */
54527e1999-03-02Niels Möller ]);
b340112014-04-21Martin Nilsson mapping(Identifier:string(7bit)) reverse_at_ids = REVERSE(at_ids);
13d8162014-01-25Henrik Grubbström (Grubba) 
f49ea82003-01-27Martin Nilsson Identifier ce_id = Identifier(2, 5, 29);
2869bc2014-04-11Henrik Grubbström (Grubba) // RFC 3280
f49ea82003-01-27Martin Nilsson Identifier pkix_id = Identifier(1, 3, 6, 1, 5, 5, 7);
54527e1999-03-02Niels Möller 
c40c0f2014-05-30Martin Nilsson Identifier id_pe = pkix_id->append(1);
54527e1999-03-02Niels Möller 
13d8162014-01-25Henrik Grubbström (Grubba) mapping(string(7bit):Identifier) ce_ids =
54527e1999-03-02Niels Möller ([ "subjectDirectoryAttributes" : ce_id->append(9), "subjectKeyIdentifier" : ce_id->append(14), "keyUsage" : ce_id->append(15), "privateKeyUsagePeriod" : ce_id->append(16), "subjectAltName" : ce_id->append(17), "issuerAltName" : ce_id->append(18), "basicConstraints" : ce_id->append(19), "nameConstraints" : ce_id->append(30), "cRLDistributionPoints" : ce_id->append(31), "certificatePolicies" : ce_id->append(32), "policyMappings" : ce_id->append(33), "authorityKeyIdentifier" : ce_id->append(35), "policyConstraints" : ce_id->append(36),
c40c0f2014-05-30Martin Nilsson  "extKeyUsage" : ce_id->append(37), // Private extensions (IANA security-related objects) "authorityInfoAccess" : id_pe->append(1), "biometricInfo" : id_pe->append(2), "qcStatements" : id_pe->append(3), "logotype" : id_pe->append(12), // 2.16.840.1.113730.1.1 Netscape Certificate type
54527e1999-03-02Niels Möller  ]);
b340112014-04-21Martin Nilsson mapping(Identifier:string(7bit)) reverse_ce_ids = REVERSE(ce_ids);
13d8162014-01-25Henrik Grubbström (Grubba) 
54527e1999-03-02Niels Möller /* Policy qualifiers */
f49ea82003-01-27Martin Nilsson Identifier qt_id = pkix_id->append(2);
54527e1999-03-02Niels Möller 
13d8162014-01-25Henrik Grubbström (Grubba) mapping(string(7bit):Identifier) qt_ids =
54527e1999-03-02Niels Möller ([ "cps" : qt_id->append(1), "unotice" : qt_id->append(2) ]);
13d8162014-01-25Henrik Grubbström (Grubba) 
b340112014-04-21Martin Nilsson mapping(Identifier:string(7bit)) reverse_qt_ids = REVERSE(qt_ids);
2869bc2014-04-11Henrik Grubbström (Grubba) 
54527e1999-03-02Niels Möller /* Key purposes */
f49ea82003-01-27Martin Nilsson Identifier kp_id = pkix_id->append(3);
54527e1999-03-02Niels Möller 
13d8162014-01-25Henrik Grubbström (Grubba) mapping(string(7bit):Identifier) kp_ids =
3ad8f32014-04-28Martin Nilsson ([ "serverAuth" : kp_id->append(1), "clientAuth" : kp_id->append(2), "codeSigning" : kp_id->append(3),
54527e1999-03-02Niels Möller  "emailProtection" : kp_id->append(4),
3ad8f32014-04-28Martin Nilsson  "timeStamping" : kp_id->append(8), "OCSPSigning" : kp_id->append(9), ]);
54527e1999-03-02Niels Möller 
b340112014-04-21Martin Nilsson mapping(Identifier:string(7bit)) reverse_kp_ids = REVERSE(kp_ids);
13d8162014-01-25Henrik Grubbström (Grubba) 
54527e1999-03-02Niels Möller /* Private extensions */
f49ea82003-01-27Martin Nilsson Identifier pe_id = pkix_id->append(1);
54527e1999-03-02Niels Möller 
2869bc2014-04-11Henrik Grubbström (Grubba) /* RFC 4985 - Subject Alternative Name for Expression of Service Name */ Identifier on_id = pkix_id->append(8); Identifier on_dnsSRV_id = on_id->append(7);
54527e1999-03-02Niels Möller /* Access descriptions */
f49ea82003-01-27Martin Nilsson Identifier ad_id = pkix_id->append(48);
54527e1999-03-02Niels Möller 
13d8162014-01-25Henrik Grubbström (Grubba) mapping(string(7bit):Identifier) ad_ids =
54527e1999-03-02Niels Möller ([ "caIssuers" : ad_id->append(2) ]);
13d8162014-01-25Henrik Grubbström (Grubba) 
b340112014-04-21Martin Nilsson mapping(Identifier:string(7bit)) reverse_ad_ids = REVERSE(ad_ids);