Add ASN.1 parsing routines
This commit is contained in:
parent
bc727e7ef1
commit
673b267e66
@ -22,7 +22,7 @@ before_install:
|
|||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl ; fi
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install openssl ; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update ; fi
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get -qq update ; fi
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y libpcsclite-dev libxcursor-dev libao-dev libasound2-dev ; fi
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo apt-get install -y libpcsclite-dev libxcursor-dev libao-dev libasound2-dev libtasn1-dev; fi
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./bootstrap
|
- ./bootstrap
|
||||||
|
178
asn.c
178
asn.c
@ -2,6 +2,7 @@
|
|||||||
rdesktop: A Remote Desktop Protocol client.
|
rdesktop: A Remote Desktop Protocol client.
|
||||||
ASN.1 utility functions
|
ASN.1 utility functions
|
||||||
Copyright 2012-2017 Henrik Andersson <hean01@cendio.se> for Cendio AB
|
Copyright 2012-2017 Henrik Andersson <hean01@cendio.se> for Cendio AB
|
||||||
|
Copyright 2017 Alexander Zakharov <uglym8@gmail.com>
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -17,8 +18,20 @@
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "rdesktop.h"
|
#include <gnutls/gnutls.h>
|
||||||
|
#include <libtasn1.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include "rdesktop.h"
|
||||||
|
#include "asn.h"
|
||||||
|
|
||||||
|
// Generated by asn1Parser
|
||||||
|
#include "pkix_asn1_tab.c"
|
||||||
|
|
||||||
|
static asn1_node *asn_defs = NULL;
|
||||||
|
|
||||||
|
#define MAX_ERROR_DESCRIPTION_SIZE 1024
|
||||||
|
char errstr[MAX_ERROR_DESCRIPTION_SIZE];
|
||||||
|
|
||||||
/* Parse an ASN.1 BER header */
|
/* Parse an ASN.1 BER header */
|
||||||
RD_BOOL
|
RD_BOOL
|
||||||
@ -118,3 +131,166 @@ ber_in_header(STREAM s, int *tagval, int *decoded_len)
|
|||||||
|
|
||||||
return False;
|
return False;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int init_asn1_lib(void)
|
||||||
|
{
|
||||||
|
int asn1_rv;
|
||||||
|
|
||||||
|
if (asn_defs) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
asn_defs = malloc(sizeof(*asn_defs));
|
||||||
|
|
||||||
|
if (!asn_defs) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to allocate memory for ASN.1 parser\n",
|
||||||
|
__FILE__, __func__, __LINE__);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
*asn_defs = NULL;
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_array2tree(pkix_asn1_tab, asn_defs, errstr))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to init ASN.1 parser. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Encode RSA public key into DER PKCS#1 */
|
||||||
|
/* Returns; 0 - success, 1 - fatal error, 2 - insufficient space in buffer */
|
||||||
|
int write_pkcs1_der_pubkey(const gnutls_datum_t *m, const gnutls_datum_t *e, uint8_t *out, int *out_len)
|
||||||
|
{
|
||||||
|
int asn1_rv;
|
||||||
|
asn1_node asn_cert;
|
||||||
|
|
||||||
|
if (!asn_defs) {
|
||||||
|
if (init_asn1_lib() != 0) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_create_element(*asn_defs, "PKIX1Implicit88.RSAPublicKey", &asn_cert))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to create ASN.1 parser element for RSAPublicKey. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_write_value(asn_cert, "modulus", m->data, m->size))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to write modulus. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_write_value(asn_cert, "publicExponent", e->data, e->size))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to write publicExponent. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_der_coding(asn_cert, "", out, out_len, errstr))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to encode PKIX1Implicit88.RSAPublicKey. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
|
||||||
|
if (asn1_rv == ASN1_MEM_ERROR) {
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int libtasn_read_cert_pk_parameters(uint8_t *data, size_t len, gnutls_datum_t *m, gnutls_datum_t *e)
|
||||||
|
{
|
||||||
|
int asn1_rv;
|
||||||
|
asn1_node asn_cert;
|
||||||
|
|
||||||
|
int buflen;
|
||||||
|
uint8_t buf[16384];
|
||||||
|
|
||||||
|
asn1_node asn_key;
|
||||||
|
int nblen;
|
||||||
|
uint8_t newbuf[16384];
|
||||||
|
|
||||||
|
/* Parse DER encoded x.509 certificate */
|
||||||
|
init_asn1_lib();
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_create_element(*asn_defs, "PKIX1Implicit88.Certificate", &asn_cert))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to create ASN.1 parser element. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_der_decoding(&asn_cert, data, len, errstr))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to decode certificate object. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
buflen = sizeof(buf) - 1;
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_read_value(asn_cert, "tbsCertificate.subjectPublicKeyInfo.subjectPublicKey", buf, &buflen))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to get cert's public key. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_create_element(*asn_defs, "PKIX1Implicit88.RSAPublicKey", &asn_key))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to create ASN.1 parser element. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
// As it' a BIT STRING the len constitutes the number of BITS, not BYTES
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_der_decoding(&asn_key, buf, buflen / 8, errstr))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to decode public key object. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Get RSA public key's modulus and exponent */
|
||||||
|
nblen = sizeof(newbuf);
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_read_value(asn_key, "modulus", newbuf, &nblen))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to get RSA public key's modulus. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
m->size = nblen;
|
||||||
|
|
||||||
|
if (!(m->data = malloc(m->size))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to allocate memory for modulus.\n", __FILE__, __func__, __LINE__);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy((void *)m->data, newbuf, m->size);
|
||||||
|
|
||||||
|
nblen = sizeof(newbuf);
|
||||||
|
|
||||||
|
if (ASN1_SUCCESS != (asn1_rv = asn1_read_value(asn_key, "publicExponent", newbuf, &nblen))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to get RSA public key's exponent. Error = 0x%x (%s)\n",
|
||||||
|
__FILE__, __func__, __LINE__, asn1_rv, asn1_strerror(asn1_rv));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
e->size = nblen;
|
||||||
|
|
||||||
|
if (!(e->data = malloc(e->size))) {
|
||||||
|
logger(Core, Error, "%s:%s:%d Failed to allocate memory for exponent.\n", __FILE__, __func__, __LINE__);
|
||||||
|
if (m->data) {
|
||||||
|
free(m->data);
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
memcpy((void *)e->data, newbuf, m->size);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
41
asn.h
Normal file
41
asn.h
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/* -*- c-basic-offset: 8 -*-
|
||||||
|
rdesktop: A Remote Desktop Protocol client.
|
||||||
|
ASN.1 utility functions header
|
||||||
|
Copyright 2017 Alexander Zakharov <uglym8@gmail.com>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
#ifndef _RDASN_H
|
||||||
|
#define _RDASN_H
|
||||||
|
|
||||||
|
#include <gnutls/gnutls.h>
|
||||||
|
#include <libtasn1.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include "utils.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
int init_asn1_lib(void);
|
||||||
|
int write_pkcs1_der_pubkey(const gnutls_datum_t *m, const gnutls_datum_t *e, uint8_t *out, int *out_len);
|
||||||
|
int libtasn_read_cert_pk_parameters(uint8_t *data, size_t len, gnutls_datum_t *m, gnutls_datum_t *e);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* _RDASN_H */
|
13
configure.ac
13
configure.ac
@ -201,6 +201,19 @@ else
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# libtasn1
|
||||||
|
if test -n "$PKG_CONFIG"; then
|
||||||
|
PKG_CHECK_MODULES(LIBTASN1, libtasn1, [HAVE_LIBTASN1=1], [HAVE_LIBTASN1=0])
|
||||||
|
fi
|
||||||
|
if test x"$HAVE_LIBTASN1" = "x1"; then
|
||||||
|
CFLAGS="$CFLAGS $LIBTASN1_CFLAGS"
|
||||||
|
LIBS="$LIBS $LIBTASN1_LIBS"
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
echo "rdesktop requires libtasn1. Please install the dependency"
|
||||||
|
echo
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
dnl Smartcard support
|
dnl Smartcard support
|
||||||
AC_ARG_ENABLE(smartcard, AS_HELP_STRING([--disable-smartcard], [disable support for smartcard]))
|
AC_ARG_ENABLE(smartcard, AS_HELP_STRING([--disable-smartcard], [disable support for smartcard]))
|
||||||
|
999
pkix.asn
Normal file
999
pkix.asn
Normal file
@ -0,0 +1,999 @@
|
|||||||
|
|
||||||
|
PKIX1Implicit88 {iso(1) identified-organization(3) dod(6) internet(1)
|
||||||
|
security(5) mechanisms(5) pkix(7) id-mod(0) id-pkix1-implicit-88(2)}
|
||||||
|
|
||||||
|
DEFINITIONS IMPLICIT TAGS ::=
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
|
||||||
|
-- ISO arc for standard certificate and CRL extensions
|
||||||
|
|
||||||
|
id-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}
|
||||||
|
|
||||||
|
|
||||||
|
-- authority key identifier OID and syntax
|
||||||
|
|
||||||
|
id-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 35 }
|
||||||
|
|
||||||
|
AuthorityKeyIdentifier ::= SEQUENCE {
|
||||||
|
keyIdentifier [0] KeyIdentifier OPTIONAL,
|
||||||
|
authorityCertIssuer [1] GeneralNames OPTIONAL,
|
||||||
|
authorityCertSerialNumber [2] CertificateSerialNumber OPTIONAL }
|
||||||
|
-- authorityCertIssuer and authorityCertSerialNumber shall both
|
||||||
|
-- be present or both be absgent
|
||||||
|
|
||||||
|
KeyIdentifier ::= OCTET STRING
|
||||||
|
|
||||||
|
-- subject key identifier OID and syntax
|
||||||
|
|
||||||
|
id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::= { id-ce 14 }
|
||||||
|
|
||||||
|
SubjectKeyIdentifier ::= KeyIdentifier
|
||||||
|
|
||||||
|
-- key usage extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-keyUsage OBJECT IDENTIFIER ::= { id-ce 15 }
|
||||||
|
|
||||||
|
KeyUsage ::= BIT STRING {
|
||||||
|
digitalSignature (0),
|
||||||
|
nonRepudiation (1),
|
||||||
|
keyEncipherment (2),
|
||||||
|
dataEncipherment (3),
|
||||||
|
keyAgreement (4),
|
||||||
|
keyCertSign (5),
|
||||||
|
cRLSign (6),
|
||||||
|
encipherOnly (7),
|
||||||
|
decipherOnly (8) }
|
||||||
|
|
||||||
|
-- private key usage period extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::= { id-ce 16 }
|
||||||
|
|
||||||
|
PrivateKeyUsagePeriod ::= SEQUENCE {
|
||||||
|
notBefore [0] GeneralizedTime OPTIONAL,
|
||||||
|
notAfter [1] GeneralizedTime OPTIONAL }
|
||||||
|
-- either notBefore or notAfter shall be present
|
||||||
|
|
||||||
|
-- certificate policies extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-certificatePolicies OBJECT IDENTIFIER ::= { id-ce 32 }
|
||||||
|
|
||||||
|
CertificatePolicies ::= SEQUENCE SIZE (1..MAX) OF PolicyInformation
|
||||||
|
|
||||||
|
PolicyInformation ::= SEQUENCE {
|
||||||
|
policyIdentifier CertPolicyId,
|
||||||
|
policyQualifiers SEQUENCE SIZE (1..MAX) OF
|
||||||
|
PolicyQualifierInfo OPTIONAL }
|
||||||
|
|
||||||
|
CertPolicyId ::= OBJECT IDENTIFIER
|
||||||
|
|
||||||
|
PolicyQualifierInfo ::= SEQUENCE {
|
||||||
|
policyQualifierId PolicyQualifierId,
|
||||||
|
qualifier ANY DEFINED BY policyQualifierId }
|
||||||
|
|
||||||
|
-- Implementations that recognize additional policy qualifiers shall
|
||||||
|
-- augment the following definition for PolicyQualifierId
|
||||||
|
|
||||||
|
PolicyQualifierId ::=
|
||||||
|
OBJECT IDENTIFIER -- ( id-qt-cps | id-qt-unotice )
|
||||||
|
|
||||||
|
-- CPS pointer qualifier
|
||||||
|
|
||||||
|
CPSuri ::= IA5String
|
||||||
|
|
||||||
|
-- user notice qualifier
|
||||||
|
|
||||||
|
UserNotice ::= SEQUENCE {
|
||||||
|
noticeRef NoticeReference OPTIONAL,
|
||||||
|
explicitText DisplayText OPTIONAL}
|
||||||
|
|
||||||
|
NoticeReference ::= SEQUENCE {
|
||||||
|
organization DisplayText,
|
||||||
|
noticeNumbers SEQUENCE OF INTEGER }
|
||||||
|
|
||||||
|
DisplayText ::= CHOICE {
|
||||||
|
visibleString VisibleString (SIZE (1..200)),
|
||||||
|
bmpString BMPString (SIZE (1..200)),
|
||||||
|
utf8String UTF8String (SIZE (1..200)) }
|
||||||
|
|
||||||
|
-- policy mapping extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-policyMappings OBJECT IDENTIFIER ::= { id-ce 33 }
|
||||||
|
|
||||||
|
PolicyMappings ::= SEQUENCE SIZE (1..MAX) OF SEQUENCE {
|
||||||
|
issuerDomainPolicy CertPolicyId,
|
||||||
|
subjectDomainPolicy CertPolicyId }
|
||||||
|
|
||||||
|
-- subject alternative name extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-subjectAltName OBJECT IDENTIFIER ::= { id-ce 17 }
|
||||||
|
|
||||||
|
SubjectAltName ::= GeneralNames
|
||||||
|
|
||||||
|
GeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
|
||||||
|
|
||||||
|
GeneralName ::= CHOICE {
|
||||||
|
otherName [0] AnotherName,
|
||||||
|
rfc822Name [1] IA5String,
|
||||||
|
dNSName [2] IA5String,
|
||||||
|
x400Address [3] ORAddress,
|
||||||
|
directoryName [4] Name,
|
||||||
|
ediPartyName [5] EDIPartyName,
|
||||||
|
uniformResourceIdentifier [6] IA5String,
|
||||||
|
iPAddress [7] OCTET STRING,
|
||||||
|
registeredID [8] OBJECT IDENTIFIER }
|
||||||
|
|
||||||
|
-- AnotherName replaces OTHER-NAME ::= TYPE-IDENTIFIER, as
|
||||||
|
-- TYPE-IDENTIFIER is not supported in the '88 ASN.1 syntax
|
||||||
|
|
||||||
|
AnotherName ::= SEQUENCE {
|
||||||
|
type-id OBJECT IDENTIFIER,
|
||||||
|
value [0] EXPLICIT ANY DEFINED BY type-id }
|
||||||
|
|
||||||
|
EDIPartyName ::= SEQUENCE {
|
||||||
|
nameAssigner [0] DirectoryString OPTIONAL,
|
||||||
|
partyName [1] DirectoryString }
|
||||||
|
|
||||||
|
-- issuer alternative name extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-issuerAltName OBJECT IDENTIFIER ::= { id-ce 18 }
|
||||||
|
|
||||||
|
IssuerAltName ::= GeneralNames
|
||||||
|
|
||||||
|
id-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::= { id-ce 9 }
|
||||||
|
|
||||||
|
SubjectDirectoryAttributes ::= SEQUENCE SIZE (1..MAX) OF Attribute
|
||||||
|
|
||||||
|
-- basic constraints extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-basicConstraints OBJECT IDENTIFIER ::= { id-ce 19 }
|
||||||
|
|
||||||
|
BasicConstraints ::= SEQUENCE {
|
||||||
|
cA BOOLEAN DEFAULT FALSE,
|
||||||
|
pathLenConstraint INTEGER (0..MAX) OPTIONAL }
|
||||||
|
|
||||||
|
-- name constraints extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-nameConstraints OBJECT IDENTIFIER ::= { id-ce 30 }
|
||||||
|
|
||||||
|
NameConstraints ::= SEQUENCE {
|
||||||
|
permittedSubtrees [0] GeneralSubtrees OPTIONAL,
|
||||||
|
excludedSubtrees [1] GeneralSubtrees OPTIONAL }
|
||||||
|
|
||||||
|
GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree
|
||||||
|
|
||||||
|
GeneralSubtree ::= SEQUENCE {
|
||||||
|
base GeneralName,
|
||||||
|
minimum [0] BaseDistance DEFAULT 0,
|
||||||
|
maximum [1] BaseDistance OPTIONAL }
|
||||||
|
|
||||||
|
BaseDistance ::= INTEGER (0..MAX)
|
||||||
|
|
||||||
|
-- policy constraints extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-policyConstraints OBJECT IDENTIFIER ::= { id-ce 36 }
|
||||||
|
|
||||||
|
PolicyConstraints ::= SEQUENCE {
|
||||||
|
requireExplicitPolicy [0] SkipCerts OPTIONAL,
|
||||||
|
inhibitPolicyMapping [1] SkipCerts OPTIONAL }
|
||||||
|
|
||||||
|
SkipCerts ::= INTEGER (0..MAX)
|
||||||
|
|
||||||
|
-- CRL distribution points extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-cRLDistributionPoints OBJECT IDENTIFIER ::= {id-ce 31}
|
||||||
|
|
||||||
|
CRLDistPointsSyntax ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
|
||||||
|
|
||||||
|
DistributionPoint ::= SEQUENCE {
|
||||||
|
distributionPoint [0] DistributionPointName OPTIONAL,
|
||||||
|
reasons [1] ReasonFlags OPTIONAL,
|
||||||
|
cRLIssuer [2] GeneralNames OPTIONAL }
|
||||||
|
|
||||||
|
-- This was previously a CHOICE with two possible choices,
|
||||||
|
-- corresponding to the same names and types. However, this
|
||||||
|
-- rendered libtasn1 unable to interpret the certificate
|
||||||
|
-- revocation lists on the test SITHS certificate that I've
|
||||||
|
-- had. Turning it to a sequence with two optional members
|
||||||
|
-- made it work though, so I truly hope that this doesn't break
|
||||||
|
-- anything.
|
||||||
|
|
||||||
|
DistributionPointName ::= SEQUENCE {
|
||||||
|
fullName [0] GeneralNames OPTIONAL,
|
||||||
|
nameRelativeToCRLIssuer [1] RelativeDistinguishedName OPTIONAL }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ReasonFlags ::= BIT STRING {
|
||||||
|
unused (0),
|
||||||
|
keyCompromise (1),
|
||||||
|
cACompromise (2),
|
||||||
|
affiliationChanged (3),
|
||||||
|
superseded (4),
|
||||||
|
cessationOfOperation (5),
|
||||||
|
certificateHold (6) }
|
||||||
|
|
||||||
|
-- extended key usage extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
|
||||||
|
|
||||||
|
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
|
||||||
|
|
||||||
|
KeyPurposeId ::= OBJECT IDENTIFIER
|
||||||
|
|
||||||
|
-- extended key purpose OIDs
|
||||||
|
id-kp-serverAuth OBJECT IDENTIFIER ::= { id-kp 1 }
|
||||||
|
id-kp-clientAuth OBJECT IDENTIFIER ::= { id-kp 2 }
|
||||||
|
id-kp-codeSigning OBJECT IDENTIFIER ::= { id-kp 3 }
|
||||||
|
id-kp-emailProtection OBJECT IDENTIFIER ::= { id-kp 4 }
|
||||||
|
id-kp-ipsecEndSystem OBJECT IDENTIFIER ::= { id-kp 5 }
|
||||||
|
id-kp-ipsecTunnel OBJECT IDENTIFIER ::= { id-kp 6 }
|
||||||
|
id-kp-ipsecUser OBJECT IDENTIFIER ::= { id-kp 7 }
|
||||||
|
id-kp-timeStamping OBJECT IDENTIFIER ::= { id-kp 8 }
|
||||||
|
|
||||||
|
-- authority info access
|
||||||
|
|
||||||
|
id-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pe 1 }
|
||||||
|
|
||||||
|
AuthorityInfoAccessSyntax ::=
|
||||||
|
SEQUENCE SIZE (1..MAX) OF AccessDescription
|
||||||
|
|
||||||
|
AccessDescription ::= SEQUENCE {
|
||||||
|
accessMethod OBJECT IDENTIFIER,
|
||||||
|
accessLocation GeneralName }
|
||||||
|
|
||||||
|
-- CRL number extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-cRLNumber OBJECT IDENTIFIER ::= { id-ce 20 }
|
||||||
|
|
||||||
|
CRLNumber ::= INTEGER (0..MAX)
|
||||||
|
|
||||||
|
-- issuing distribution point extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= { id-ce 28 }
|
||||||
|
|
||||||
|
IssuingDistributionPoint ::= SEQUENCE {
|
||||||
|
distributionPoint [0] DistributionPointName OPTIONAL,
|
||||||
|
onlyContainsUserCerts [1] BOOLEAN DEFAULT FALSE,
|
||||||
|
onlyContainsCACerts [2] BOOLEAN DEFAULT FALSE,
|
||||||
|
onlySomeReasons [3] ReasonFlags OPTIONAL,
|
||||||
|
indirectCRL [4] BOOLEAN DEFAULT FALSE }
|
||||||
|
|
||||||
|
|
||||||
|
id-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-ce 27 }
|
||||||
|
|
||||||
|
-- deltaCRLIndicator ::= BaseCRLNumber
|
||||||
|
|
||||||
|
BaseCRLNumber ::= CRLNumber
|
||||||
|
|
||||||
|
-- CRL reasons extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-cRLReasons OBJECT IDENTIFIER ::= { id-ce 21 }
|
||||||
|
|
||||||
|
CRLReason ::= ENUMERATED {
|
||||||
|
unspecified (0),
|
||||||
|
keyCompromise (1),
|
||||||
|
cACompromise (2),
|
||||||
|
affiliationChanged (3),
|
||||||
|
superseded (4),
|
||||||
|
cessationOfOperation (5),
|
||||||
|
certificateHold (6),
|
||||||
|
removeFromCRL (8) }
|
||||||
|
|
||||||
|
-- certificate issuer CRL entry extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-certificateIssuer OBJECT IDENTIFIER ::= { id-ce 29 }
|
||||||
|
|
||||||
|
CertificateIssuer ::= GeneralNames
|
||||||
|
|
||||||
|
-- hold instruction extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-holdInstructionCode OBJECT IDENTIFIER ::= { id-ce 23 }
|
||||||
|
|
||||||
|
HoldInstructionCode ::= OBJECT IDENTIFIER
|
||||||
|
|
||||||
|
-- ANSI x9 holdinstructions
|
||||||
|
|
||||||
|
-- ANSI x9 arc holdinstruction arc
|
||||||
|
holdInstruction OBJECT IDENTIFIER ::=
|
||||||
|
{joint-iso-itu-t(2) member-body(2) us(840) x9cm(10040) 2}
|
||||||
|
|
||||||
|
-- ANSI X9 holdinstructions referenced by this standard
|
||||||
|
id-holdinstruction-none OBJECT IDENTIFIER ::=
|
||||||
|
{holdInstruction 1} -- deprecated
|
||||||
|
id-holdinstruction-callissuer OBJECT IDENTIFIER ::=
|
||||||
|
{holdInstruction 2}
|
||||||
|
id-holdinstruction-reject OBJECT IDENTIFIER ::=
|
||||||
|
{holdInstruction 3}
|
||||||
|
|
||||||
|
-- invalidity date CRL entry extension OID and syntax
|
||||||
|
|
||||||
|
id-ce-invalidityDate OBJECT IDENTIFIER ::= { id-ce 24 }
|
||||||
|
|
||||||
|
InvalidityDate ::= GeneralizedTime
|
||||||
|
|
||||||
|
-- Netscape certificate type extension
|
||||||
|
|
||||||
|
id-netscape OBJECT IDENTIFIER ::= {
|
||||||
|
joint-iso-itu-t(2) country(16) us(840) organization(1) netscape(113730) }
|
||||||
|
|
||||||
|
id-netscape-certExtension OBJECT IDENTIFIER ::= { id-netscape 1 }
|
||||||
|
|
||||||
|
id-netscape-certType OBJECT IDENTIFIER ::= { id-netscape-certExtension 1 }
|
||||||
|
|
||||||
|
CertType ::= BIT STRING {
|
||||||
|
sslClient (0),
|
||||||
|
sslServer (1),
|
||||||
|
smime (2),
|
||||||
|
objectSigning (3),
|
||||||
|
reserved (4),
|
||||||
|
sslCA (5),
|
||||||
|
smimeCA (6),
|
||||||
|
objectSigningCA (7) }
|
||||||
|
|
||||||
|
|
||||||
|
-- --------------------------------------
|
||||||
|
-- EXPLICIT
|
||||||
|
-- --------------------------------------
|
||||||
|
|
||||||
|
-- UNIVERSAL Types defined in '93 and '98 ASN.1
|
||||||
|
-- but required by this specification
|
||||||
|
|
||||||
|
VisibleString ::= [UNIVERSAL 26] IMPLICIT OCTET STRING
|
||||||
|
|
||||||
|
NumericString ::= [UNIVERSAL 18] IMPLICIT OCTET STRING
|
||||||
|
|
||||||
|
IA5String ::= [UNIVERSAL 22] IMPLICIT OCTET STRING
|
||||||
|
|
||||||
|
TeletexString ::= [UNIVERSAL 20] IMPLICIT OCTET STRING
|
||||||
|
|
||||||
|
PrintableString ::= [UNIVERSAL 19] IMPLICIT OCTET STRING
|
||||||
|
|
||||||
|
UniversalString ::= [UNIVERSAL 28] IMPLICIT OCTET STRING
|
||||||
|
-- UniversalString is defined in ASN.1:1993
|
||||||
|
|
||||||
|
BMPString ::= [UNIVERSAL 30] IMPLICIT OCTET STRING
|
||||||
|
-- BMPString is the subtype of UniversalString and models
|
||||||
|
-- the Basic Multilingual Plane of ISO/IEC/ITU 10646-1
|
||||||
|
|
||||||
|
UTF8String ::= [UNIVERSAL 12] IMPLICIT OCTET STRING
|
||||||
|
-- The content of this type conforms to RFC 2279.
|
||||||
|
|
||||||
|
|
||||||
|
-- PKIX specific OIDs
|
||||||
|
|
||||||
|
id-pkix OBJECT IDENTIFIER ::=
|
||||||
|
{ iso(1) identified-organization(3) dod(6) internet(1)
|
||||||
|
security(5) mechanisms(5) pkix(7) }
|
||||||
|
|
||||||
|
-- PKIX arcs
|
||||||
|
|
||||||
|
id-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
|
||||||
|
-- arc for private certificate extensions
|
||||||
|
id-qt OBJECT IDENTIFIER ::= { id-pkix 2 }
|
||||||
|
-- arc for policy qualifier types
|
||||||
|
id-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
|
||||||
|
-- arc for extended key purpose OIDS
|
||||||
|
id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }
|
||||||
|
-- arc for access descriptors
|
||||||
|
|
||||||
|
-- policyQualifierIds for Internet policy qualifiers
|
||||||
|
|
||||||
|
id-qt-cps OBJECT IDENTIFIER ::= { id-qt 1 }
|
||||||
|
-- OID for CPS qualifier
|
||||||
|
id-qt-unotice OBJECT IDENTIFIER ::= { id-qt 2 }
|
||||||
|
-- OID for user notice qualifier
|
||||||
|
|
||||||
|
-- access descriptor definitions
|
||||||
|
|
||||||
|
id-ad-ocsp OBJECT IDENTIFIER ::= { id-ad 1 }
|
||||||
|
id-ad-caIssuers OBJECT IDENTIFIER ::= { id-ad 2 }
|
||||||
|
|
||||||
|
-- attribute data types --
|
||||||
|
|
||||||
|
Attribute ::= SEQUENCE {
|
||||||
|
type AttributeType,
|
||||||
|
values SET OF AttributeValue
|
||||||
|
-- at least one value is required --
|
||||||
|
}
|
||||||
|
|
||||||
|
AttributeType ::= OBJECT IDENTIFIER
|
||||||
|
|
||||||
|
AttributeValue ::= ANY
|
||||||
|
|
||||||
|
AttributeTypeAndValue ::= SEQUENCE {
|
||||||
|
type AttributeType,
|
||||||
|
value AttributeValue }
|
||||||
|
|
||||||
|
-- suggested naming attributes: Definition of the following
|
||||||
|
-- information object set may be augmented to meet local
|
||||||
|
-- requirements. Note that deleting members of the set may
|
||||||
|
-- prevent interoperability with conforming implementations.
|
||||||
|
-- presented in pairs: the AttributeType followed by the
|
||||||
|
-- type definition for the corresponding AttributeValue
|
||||||
|
|
||||||
|
-- Arc for standard naming attributes
|
||||||
|
id-at OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 4}
|
||||||
|
|
||||||
|
-- Attributes of type NameDirectoryString
|
||||||
|
id-at-name AttributeType ::= {id-at 41}
|
||||||
|
id-at-surname AttributeType ::= {id-at 4}
|
||||||
|
id-at-givenName AttributeType ::= {id-at 42}
|
||||||
|
id-at-initials AttributeType ::= {id-at 43}
|
||||||
|
id-at-generationQualifier AttributeType ::= {id-at 44}
|
||||||
|
|
||||||
|
X520name ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..ub-name)),
|
||||||
|
printableString PrintableString (SIZE (1..ub-name)),
|
||||||
|
universalString UniversalString (SIZE (1..ub-name)),
|
||||||
|
utf8String UTF8String (SIZE (1..ub-name)),
|
||||||
|
bmpString BMPString (SIZE(1..ub-name)) }
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
id-at-commonName AttributeType ::= {id-at 3}
|
||||||
|
|
||||||
|
X520CommonName ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..ub-common-name)),
|
||||||
|
printableString PrintableString (SIZE (1..ub-common-name)),
|
||||||
|
universalString UniversalString (SIZE (1..ub-common-name)),
|
||||||
|
utf8String UTF8String (SIZE (1..ub-common-name)),
|
||||||
|
bmpString BMPString (SIZE(1..ub-common-name)) }
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
id-at-localityName AttributeType ::= {id-at 7}
|
||||||
|
|
||||||
|
X520LocalityName ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..ub-locality-name)),
|
||||||
|
printableString PrintableString (SIZE (1..ub-locality-name)),
|
||||||
|
universalString UniversalString (SIZE (1..ub-locality-name)),
|
||||||
|
utf8String UTF8String (SIZE (1..ub-locality-name)),
|
||||||
|
bmpString BMPString (SIZE(1..ub-locality-name)) }
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
id-at-stateOrProvinceName AttributeType ::= {id-at 8}
|
||||||
|
|
||||||
|
X520StateOrProvinceName ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..ub-state-name)),
|
||||||
|
printableString PrintableString (SIZE (1..ub-state-name)),
|
||||||
|
universalString UniversalString (SIZE (1..ub-state-name)),
|
||||||
|
utf8String UTF8String (SIZE (1..ub-state-name)),
|
||||||
|
bmpString BMPString (SIZE(1..ub-state-name)) }
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
id-at-organizationName AttributeType ::= {id-at 10}
|
||||||
|
|
||||||
|
X520OrganizationName ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..ub-organization-name)),
|
||||||
|
printableString PrintableString (SIZE (1..ub-organization-name)),
|
||||||
|
universalString UniversalString (SIZE (1..ub-organization-name)),
|
||||||
|
utf8String UTF8String (SIZE (1..ub-organization-name)),
|
||||||
|
bmpString BMPString (SIZE(1..ub-organization-name)) }
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
id-at-organizationalUnitName AttributeType ::= {id-at 11}
|
||||||
|
|
||||||
|
X520OrganizationalUnitName ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..ub-organizational-unit-name)),
|
||||||
|
printableString PrintableString
|
||||||
|
(SIZE (1..ub-organizational-unit-name)),
|
||||||
|
universalString UniversalString
|
||||||
|
(SIZE (1..ub-organizational-unit-name)),
|
||||||
|
utf8String UTF8String (SIZE (1..ub-organizational-unit-name)),
|
||||||
|
bmpString BMPString (SIZE(1..ub-organizational-unit-name)) }
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
id-at-title AttributeType ::= {id-at 12}
|
||||||
|
|
||||||
|
X520Title ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..ub-title)),
|
||||||
|
printableString PrintableString (SIZE (1..ub-title)),
|
||||||
|
universalString UniversalString (SIZE (1..ub-title)),
|
||||||
|
utf8String UTF8String (SIZE (1..ub-title)),
|
||||||
|
bmpString BMPString (SIZE(1..ub-title)) }
|
||||||
|
|
||||||
|
--
|
||||||
|
|
||||||
|
id-at-dnQualifier AttributeType ::= {id-at 46}
|
||||||
|
X520dnQualifier ::= PrintableString
|
||||||
|
|
||||||
|
id-at-countryName AttributeType ::= {id-at 6}
|
||||||
|
X520countryName ::= PrintableString (SIZE (2)) -- IS 3166 codes
|
||||||
|
|
||||||
|
-- Legacy attributes
|
||||||
|
|
||||||
|
pkcs-9 OBJECT IDENTIFIER ::=
|
||||||
|
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 9 }
|
||||||
|
|
||||||
|
emailAddress AttributeType ::= { pkcs-9 1 }
|
||||||
|
|
||||||
|
Pkcs9email ::= IA5String (SIZE (1..ub-emailaddress-length))
|
||||||
|
|
||||||
|
-- naming data types --
|
||||||
|
|
||||||
|
Name ::= CHOICE { -- only one possibility for now --
|
||||||
|
rdnSequence RDNSequence }
|
||||||
|
|
||||||
|
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
|
||||||
|
|
||||||
|
DistinguishedName ::= RDNSequence
|
||||||
|
|
||||||
|
RelativeDistinguishedName ::=
|
||||||
|
SET SIZE (1 .. MAX) OF AttributeTypeAndValue
|
||||||
|
|
||||||
|
-- Directory string type --
|
||||||
|
|
||||||
|
DirectoryString ::= CHOICE {
|
||||||
|
teletexString TeletexString (SIZE (1..MAX)),
|
||||||
|
printableString PrintableString (SIZE (1..MAX)),
|
||||||
|
universalString UniversalString (SIZE (1..MAX)),
|
||||||
|
utf8String UTF8String (SIZE (1..MAX)),
|
||||||
|
bmpString BMPString (SIZE(1..MAX)) }
|
||||||
|
|
||||||
|
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
-- certificate and CRL specific structures begin here
|
||||||
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
Certificate ::= SEQUENCE {
|
||||||
|
tbsCertificate TBSCertificate,
|
||||||
|
signatureAlgorithm AlgorithmIdentifier,
|
||||||
|
signature BIT STRING }
|
||||||
|
|
||||||
|
TBSCertificate ::= SEQUENCE {
|
||||||
|
version [0] EXPLICIT Version DEFAULT v1,
|
||||||
|
serialNumber CertificateSerialNumber,
|
||||||
|
signature AlgorithmIdentifier,
|
||||||
|
issuer Name,
|
||||||
|
validity Validity,
|
||||||
|
subject Name,
|
||||||
|
subjectPublicKeyInfo SubjectPublicKeyInfo,
|
||||||
|
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
|
||||||
|
-- If present, version shall be v2 or v3
|
||||||
|
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
|
||||||
|
-- If present, version shall be v2 or v3
|
||||||
|
extensions [3] EXPLICIT Extensions OPTIONAL
|
||||||
|
-- If present, version shall be v3 --
|
||||||
|
}
|
||||||
|
|
||||||
|
Version ::= INTEGER { v1(0), v2(1), v3(2) }
|
||||||
|
|
||||||
|
CertificateSerialNumber ::= INTEGER
|
||||||
|
|
||||||
|
Validity ::= SEQUENCE {
|
||||||
|
notBefore Time,
|
||||||
|
notAfter Time }
|
||||||
|
|
||||||
|
Time ::= CHOICE {
|
||||||
|
utcTime UTCTime,
|
||||||
|
generalTime GeneralizedTime }
|
||||||
|
|
||||||
|
UniqueIdentifier ::= BIT STRING
|
||||||
|
|
||||||
|
SubjectPublicKeyInfo ::= SEQUENCE {
|
||||||
|
algorithm AlgorithmIdentifier,
|
||||||
|
subjectPublicKey BIT STRING }
|
||||||
|
|
||||||
|
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
|
||||||
|
|
||||||
|
Extension ::= SEQUENCE {
|
||||||
|
extnID OBJECT IDENTIFIER,
|
||||||
|
critical BOOLEAN DEFAULT FALSE,
|
||||||
|
extnValue OCTET STRING }
|
||||||
|
|
||||||
|
|
||||||
|
-- ------------------------------------------
|
||||||
|
-- CRL structures
|
||||||
|
-- ------------------------------------------
|
||||||
|
|
||||||
|
CertificateList ::= SEQUENCE {
|
||||||
|
tbsCertList TBSCertList,
|
||||||
|
signatureAlgorithm AlgorithmIdentifier,
|
||||||
|
signature BIT STRING }
|
||||||
|
|
||||||
|
TBSCertList ::= SEQUENCE {
|
||||||
|
version Version OPTIONAL,
|
||||||
|
-- if present, shall be v2
|
||||||
|
signature AlgorithmIdentifier,
|
||||||
|
issuer Name,
|
||||||
|
thisUpdate Time,
|
||||||
|
nextUpdate Time OPTIONAL,
|
||||||
|
revokedCertificates SEQUENCE OF SEQUENCE {
|
||||||
|
userCertificate CertificateSerialNumber,
|
||||||
|
revocationDate Time,
|
||||||
|
crlEntryExtensions Extensions OPTIONAL
|
||||||
|
-- if present, shall be v2
|
||||||
|
} OPTIONAL,
|
||||||
|
crlExtensions [0] EXPLICIT Extensions OPTIONAL
|
||||||
|
-- if present, shall be v2 --
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Version, Time, CertificateSerialNumber, and Extensions were
|
||||||
|
-- defined earlier for use in the certificate structure
|
||||||
|
|
||||||
|
AlgorithmIdentifier ::= SEQUENCE {
|
||||||
|
algorithm OBJECT IDENTIFIER,
|
||||||
|
parameters ANY DEFINED BY algorithm OPTIONAL }
|
||||||
|
-- contains a value of the type
|
||||||
|
-- registered for use with the
|
||||||
|
-- algorithm object identifier value
|
||||||
|
|
||||||
|
-- Algorithm OIDs and parameter structures
|
||||||
|
|
||||||
|
pkcs-1 OBJECT IDENTIFIER ::= {
|
||||||
|
iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) 1 }
|
||||||
|
|
||||||
|
rsaEncryption OBJECT IDENTIFIER ::= { pkcs-1 1 }
|
||||||
|
|
||||||
|
md2WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 2 }
|
||||||
|
|
||||||
|
md5WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 4 }
|
||||||
|
|
||||||
|
sha1WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 5 }
|
||||||
|
|
||||||
|
-- Cendio additions:
|
||||||
|
|
||||||
|
sha256WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 11 }
|
||||||
|
|
||||||
|
sha384WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 12 }
|
||||||
|
|
||||||
|
sha512WithRSAEncryption OBJECT IDENTIFIER ::= { pkcs-1 13 }
|
||||||
|
|
||||||
|
RSAPublicKey ::= SEQUENCE {
|
||||||
|
modulus INTEGER, -- n
|
||||||
|
publicExponent INTEGER -- e
|
||||||
|
}
|
||||||
|
|
||||||
|
RSAPrivateKey ::= SEQUENCE {
|
||||||
|
version Version,
|
||||||
|
modulus INTEGER, -- n
|
||||||
|
publicExponent INTEGER, -- e
|
||||||
|
privateExponent INTEGER, -- d
|
||||||
|
prime1 INTEGER, -- p
|
||||||
|
prime2 INTEGER, -- q
|
||||||
|
exponent1 INTEGER, -- d mod (p-1)
|
||||||
|
exponent2 INTEGER, -- d mod (q-1)
|
||||||
|
coefficient INTEGER -- (inverse of q) mod p
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
id-dsa-with-sha1 OBJECT IDENTIFIER ::= {
|
||||||
|
iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 3 }
|
||||||
|
|
||||||
|
Dss-Sig-Value ::= SEQUENCE {
|
||||||
|
r INTEGER,
|
||||||
|
s INTEGER }
|
||||||
|
|
||||||
|
dhpublicnumber OBJECT IDENTIFIER ::= {
|
||||||
|
iso(1) member-body(2) us(840) ansi-x942(10046) number-type(2) 1 }
|
||||||
|
|
||||||
|
DomainParameters ::= SEQUENCE {
|
||||||
|
p INTEGER, -- odd prime, p=jq +1
|
||||||
|
g INTEGER, -- generator, g
|
||||||
|
q INTEGER, -- factor of p-1
|
||||||
|
j INTEGER OPTIONAL, -- subgroup factor, j>= 2
|
||||||
|
validationParms ValidationParms OPTIONAL }
|
||||||
|
|
||||||
|
ValidationParms ::= SEQUENCE {
|
||||||
|
seed BIT STRING,
|
||||||
|
pgenCounter INTEGER }
|
||||||
|
|
||||||
|
id-dsa OBJECT IDENTIFIER ::= {
|
||||||
|
iso(1) member-body(2) us(840) x9-57(10040) x9algorithm(4) 1 }
|
||||||
|
|
||||||
|
Dss-Parms ::= SEQUENCE {
|
||||||
|
p INTEGER,
|
||||||
|
q INTEGER,
|
||||||
|
g INTEGER }
|
||||||
|
|
||||||
|
-- x400 address syntax starts here
|
||||||
|
-- OR Names
|
||||||
|
|
||||||
|
ORAddress ::= SEQUENCE {
|
||||||
|
built-in-standard-attributes BuiltInStandardAttributes,
|
||||||
|
built-in-domain-defined-attributes
|
||||||
|
BuiltInDomainDefinedAttributes OPTIONAL,
|
||||||
|
-- see also teletex-domain-defined-attributes
|
||||||
|
extension-attributes ExtensionAttributes OPTIONAL }
|
||||||
|
-- The OR-address is semantically absent from the OR-name if the
|
||||||
|
-- built-in-standard-attribute sequence is empty and the
|
||||||
|
-- built-in-domain-defined-attributes and extension-attributes are
|
||||||
|
-- both omitted.
|
||||||
|
|
||||||
|
-- Built-in Standard Attributes
|
||||||
|
|
||||||
|
BuiltInStandardAttributes ::= SEQUENCE {
|
||||||
|
country-name CountryName OPTIONAL,
|
||||||
|
administration-domain-name AdministrationDomainName OPTIONAL,
|
||||||
|
network-address [0] EXPLICIT NetworkAddress OPTIONAL,
|
||||||
|
-- see also extended-network-address
|
||||||
|
terminal-identifier [1] EXPLICIT TerminalIdentifier OPTIONAL,
|
||||||
|
private-domain-name [2] EXPLICIT PrivateDomainName OPTIONAL,
|
||||||
|
organization-name [3] EXPLICIT OrganizationName OPTIONAL,
|
||||||
|
-- see also teletex-organization-name
|
||||||
|
numeric-user-identifier [4] EXPLICIT NumericUserIdentifier OPTIONAL,
|
||||||
|
personal-name [5] EXPLICIT PersonalName OPTIONAL,
|
||||||
|
-- see also teletex-personal-name
|
||||||
|
organizational-unit-names [6] EXPLICIT OrganizationalUnitNames OPTIONAL
|
||||||
|
-- see also teletex-organizational-unit-names --
|
||||||
|
}
|
||||||
|
|
||||||
|
CountryName ::= [APPLICATION 1] CHOICE {
|
||||||
|
x121-dcc-code NumericString
|
||||||
|
(SIZE (ub-country-name-numeric-length)),
|
||||||
|
iso-3166-alpha2-code PrintableString
|
||||||
|
(SIZE (ub-country-name-alpha-length)) }
|
||||||
|
|
||||||
|
AdministrationDomainName ::= [APPLICATION 2] EXPLICIT CHOICE {
|
||||||
|
numeric NumericString (SIZE (0..ub-domain-name-length)),
|
||||||
|
printable PrintableString (SIZE (0..ub-domain-name-length)) }
|
||||||
|
|
||||||
|
NetworkAddress ::= X121Address -- see also extended-network-address
|
||||||
|
|
||||||
|
X121Address ::= NumericString (SIZE (1..ub-x121-address-length))
|
||||||
|
|
||||||
|
TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length))
|
||||||
|
|
||||||
|
PrivateDomainName ::= CHOICE {
|
||||||
|
numeric NumericString (SIZE (1..ub-domain-name-length)),
|
||||||
|
printable PrintableString (SIZE (1..ub-domain-name-length)) }
|
||||||
|
|
||||||
|
OrganizationName ::= PrintableString
|
||||||
|
(SIZE (1..ub-organization-name-length))
|
||||||
|
-- see also teletex-organization-name
|
||||||
|
|
||||||
|
NumericUserIdentifier ::= NumericString
|
||||||
|
(SIZE (1..ub-numeric-user-id-length))
|
||||||
|
|
||||||
|
PersonalName ::= SET {
|
||||||
|
surname [0] PrintableString (SIZE (1..ub-surname-length)),
|
||||||
|
given-name [1] PrintableString
|
||||||
|
(SIZE (1..ub-given-name-length)) OPTIONAL,
|
||||||
|
initials [2] PrintableString (SIZE (1..ub-initials-length)) OPTIONAL,
|
||||||
|
generation-qualifier [3] PrintableString
|
||||||
|
(SIZE (1..ub-generation-qualifier-length)) OPTIONAL }
|
||||||
|
-- see also teletex-personal-name
|
||||||
|
|
||||||
|
OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units)
|
||||||
|
OF OrganizationalUnitName
|
||||||
|
-- see also teletex-organizational-unit-names
|
||||||
|
|
||||||
|
OrganizationalUnitName ::= PrintableString (SIZE
|
||||||
|
(1..ub-organizational-unit-name-length))
|
||||||
|
|
||||||
|
-- Built-in Domain-defined Attributes
|
||||||
|
|
||||||
|
BuiltInDomainDefinedAttributes ::= SEQUENCE SIZE
|
||||||
|
(1..ub-domain-defined-attributes) OF
|
||||||
|
BuiltInDomainDefinedAttribute
|
||||||
|
|
||||||
|
BuiltInDomainDefinedAttribute ::= SEQUENCE {
|
||||||
|
type PrintableString (SIZE
|
||||||
|
(1..ub-domain-defined-attribute-type-length)),
|
||||||
|
value PrintableString (SIZE
|
||||||
|
(1..ub-domain-defined-attribute-value-length))}
|
||||||
|
|
||||||
|
-- Extension Attributes
|
||||||
|
|
||||||
|
ExtensionAttributes ::= SET SIZE (1..ub-extension-attributes) OF
|
||||||
|
ExtensionAttribute
|
||||||
|
|
||||||
|
ExtensionAttribute ::= SEQUENCE {
|
||||||
|
extension-attribute-type [0] EXPLICIT INTEGER (0..ub-extension-attributes),
|
||||||
|
extension-attribute-value [1] EXPLICIT
|
||||||
|
ANY DEFINED BY extension-attribute-type }
|
||||||
|
|
||||||
|
-- Extension types and attribute values
|
||||||
|
--
|
||||||
|
|
||||||
|
common-name INTEGER ::= 1
|
||||||
|
|
||||||
|
CommonName ::= PrintableString (SIZE (1..ub-common-name-length))
|
||||||
|
|
||||||
|
teletex-common-name INTEGER ::= 2
|
||||||
|
|
||||||
|
TeletexCommonName ::= TeletexString (SIZE (1..ub-common-name-length))
|
||||||
|
|
||||||
|
teletex-organization-name INTEGER ::= 3
|
||||||
|
|
||||||
|
TeletexOrganizationName ::=
|
||||||
|
TeletexString (SIZE (1..ub-organization-name-length))
|
||||||
|
|
||||||
|
teletex-personal-name INTEGER ::= 4
|
||||||
|
|
||||||
|
TeletexPersonalName ::= SET {
|
||||||
|
surname [0] EXPLICIT TeletexString (SIZE (1..ub-surname-length)),
|
||||||
|
given-name [1] EXPLICIT TeletexString
|
||||||
|
(SIZE (1..ub-given-name-length)) OPTIONAL,
|
||||||
|
initials [2] EXPLICIT TeletexString (SIZE (1..ub-initials-length)) OPTIONAL,
|
||||||
|
generation-qualifier [3] EXPLICIT TeletexString (SIZE
|
||||||
|
(1..ub-generation-qualifier-length)) OPTIONAL }
|
||||||
|
|
||||||
|
teletex-organizational-unit-names INTEGER ::= 5
|
||||||
|
|
||||||
|
TeletexOrganizationalUnitNames ::= SEQUENCE SIZE
|
||||||
|
(1..ub-organizational-units) OF TeletexOrganizationalUnitName
|
||||||
|
|
||||||
|
TeletexOrganizationalUnitName ::= TeletexString
|
||||||
|
(SIZE (1..ub-organizational-unit-name-length))
|
||||||
|
|
||||||
|
pds-name INTEGER ::= 7
|
||||||
|
|
||||||
|
PDSName ::= PrintableString (SIZE (1..ub-pds-name-length))
|
||||||
|
|
||||||
|
physical-delivery-country-name INTEGER ::= 8
|
||||||
|
|
||||||
|
PhysicalDeliveryCountryName ::= CHOICE {
|
||||||
|
x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)),
|
||||||
|
iso-3166-alpha2-code PrintableString
|
||||||
|
(SIZE (ub-country-name-alpha-length)) }
|
||||||
|
|
||||||
|
postal-code INTEGER ::= 9
|
||||||
|
|
||||||
|
PostalCode ::= CHOICE {
|
||||||
|
numeric-code NumericString (SIZE (1..ub-postal-code-length)),
|
||||||
|
printable-code PrintableString (SIZE (1..ub-postal-code-length)) }
|
||||||
|
|
||||||
|
physical-delivery-office-name INTEGER ::= 10
|
||||||
|
|
||||||
|
PhysicalDeliveryOfficeName ::= PDSParameter
|
||||||
|
|
||||||
|
physical-delivery-office-number INTEGER ::= 11
|
||||||
|
|
||||||
|
PhysicalDeliveryOfficeNumber ::= PDSParameter
|
||||||
|
|
||||||
|
extension-OR-address-components INTEGER ::= 12
|
||||||
|
|
||||||
|
ExtensionORAddressComponents ::= PDSParameter
|
||||||
|
|
||||||
|
physical-delivery-personal-name INTEGER ::= 13
|
||||||
|
|
||||||
|
PhysicalDeliveryPersonalName ::= PDSParameter
|
||||||
|
|
||||||
|
physical-delivery-organization-name INTEGER ::= 14
|
||||||
|
|
||||||
|
PhysicalDeliveryOrganizationName ::= PDSParameter
|
||||||
|
|
||||||
|
extension-physical-delivery-address-components INTEGER ::= 15
|
||||||
|
|
||||||
|
ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
|
||||||
|
|
||||||
|
unformatted-postal-address INTEGER ::= 16
|
||||||
|
|
||||||
|
UnformattedPostalAddress ::= SET {
|
||||||
|
printable-address SEQUENCE SIZE (1..ub-pds-physical-address-lines) OF
|
||||||
|
PrintableString (SIZE (1..ub-pds-parameter-length)) OPTIONAL,
|
||||||
|
teletex-string TeletexString
|
||||||
|
(SIZE (1..ub-unformatted-address-length)) OPTIONAL }
|
||||||
|
|
||||||
|
street-address INTEGER ::= 17
|
||||||
|
|
||||||
|
StreetAddress ::= PDSParameter
|
||||||
|
|
||||||
|
post-office-box-address INTEGER ::= 18
|
||||||
|
|
||||||
|
PostOfficeBoxAddress ::= PDSParameter
|
||||||
|
|
||||||
|
poste-restante-address INTEGER ::= 19
|
||||||
|
|
||||||
|
PosteRestanteAddress ::= PDSParameter
|
||||||
|
|
||||||
|
unique-postal-name INTEGER ::= 20
|
||||||
|
|
||||||
|
UniquePostalName ::= PDSParameter
|
||||||
|
|
||||||
|
local-postal-attributes INTEGER ::= 21
|
||||||
|
|
||||||
|
LocalPostalAttributes ::= PDSParameter
|
||||||
|
|
||||||
|
PDSParameter ::= SET {
|
||||||
|
printable-string PrintableString
|
||||||
|
(SIZE(1..ub-pds-parameter-length)) OPTIONAL,
|
||||||
|
teletex-string TeletexString
|
||||||
|
(SIZE(1..ub-pds-parameter-length)) OPTIONAL }
|
||||||
|
|
||||||
|
extended-network-address INTEGER ::= 22
|
||||||
|
|
||||||
|
ExtendedNetworkAddress ::= CHOICE {
|
||||||
|
e163-4-address SEQUENCE {
|
||||||
|
number [0] EXPLICIT NumericString (SIZE (1..ub-e163-4-number-length)),
|
||||||
|
sub-address [1] EXPLICIT NumericString
|
||||||
|
(SIZE (1..ub-e163-4-sub-address-length)) OPTIONAL },
|
||||||
|
psap-address [0] EXPLICIT PresentationAddress }
|
||||||
|
|
||||||
|
PresentationAddress ::= SEQUENCE {
|
||||||
|
pSelector [0] EXPLICIT OCTET STRING OPTIONAL,
|
||||||
|
sSelector [1] EXPLICIT OCTET STRING OPTIONAL,
|
||||||
|
tSelector [2] EXPLICIT OCTET STRING OPTIONAL,
|
||||||
|
nAddresses [3] EXPLICIT SET SIZE (1..MAX) OF OCTET STRING }
|
||||||
|
|
||||||
|
terminal-type INTEGER ::= 23
|
||||||
|
|
||||||
|
TerminalType ::= INTEGER {
|
||||||
|
telex (3),
|
||||||
|
teletex (4),
|
||||||
|
g3-facsimile (5),
|
||||||
|
g4-facsimile (6),
|
||||||
|
ia5-terminal (7),
|
||||||
|
videotex (8) } (0..ub-integer-options)
|
||||||
|
|
||||||
|
-- Extension Domain-defined Attributes
|
||||||
|
|
||||||
|
teletex-domain-defined-attributes INTEGER ::= 6
|
||||||
|
|
||||||
|
TeletexDomainDefinedAttributes ::= SEQUENCE SIZE
|
||||||
|
(1..ub-domain-defined-attributes) OF TeletexDomainDefinedAttribute
|
||||||
|
|
||||||
|
TeletexDomainDefinedAttribute ::= SEQUENCE {
|
||||||
|
type TeletexString
|
||||||
|
(SIZE (1..ub-domain-defined-attribute-type-length)),
|
||||||
|
value TeletexString
|
||||||
|
(SIZE (1..ub-domain-defined-attribute-value-length)) }
|
||||||
|
|
||||||
|
-- specifications of Upper Bounds shall be regarded as mandatory
|
||||||
|
-- from Annex B of ITU-T X.411 Reference Definition of MTS Parameter
|
||||||
|
-- Upper Bounds
|
||||||
|
|
||||||
|
-- Upper Bounds
|
||||||
|
ub-name INTEGER ::= 32768
|
||||||
|
ub-common-name INTEGER ::= 64
|
||||||
|
ub-locality-name INTEGER ::= 128
|
||||||
|
ub-state-name INTEGER ::= 128
|
||||||
|
ub-organization-name INTEGER ::= 64
|
||||||
|
ub-organizational-unit-name INTEGER ::= 64
|
||||||
|
ub-title INTEGER ::= 64
|
||||||
|
ub-match INTEGER ::= 128
|
||||||
|
|
||||||
|
ub-emailaddress-length INTEGER ::= 128
|
||||||
|
|
||||||
|
ub-common-name-length INTEGER ::= 64
|
||||||
|
ub-country-name-alpha-length INTEGER ::= 2
|
||||||
|
ub-country-name-numeric-length INTEGER ::= 3
|
||||||
|
ub-domain-defined-attributes INTEGER ::= 4
|
||||||
|
ub-domain-defined-attribute-type-length INTEGER ::= 8
|
||||||
|
ub-domain-defined-attribute-value-length INTEGER ::= 128
|
||||||
|
ub-domain-name-length INTEGER ::= 16
|
||||||
|
ub-extension-attributes INTEGER ::= 256
|
||||||
|
ub-e163-4-number-length INTEGER ::= 15
|
||||||
|
ub-e163-4-sub-address-length INTEGER ::= 40
|
||||||
|
ub-generation-qualifier-length INTEGER ::= 3
|
||||||
|
ub-given-name-length INTEGER ::= 16
|
||||||
|
ub-initials-length INTEGER ::= 5
|
||||||
|
ub-integer-options INTEGER ::= 256
|
||||||
|
ub-numeric-user-id-length INTEGER ::= 32
|
||||||
|
ub-organization-name-length INTEGER ::= 64
|
||||||
|
ub-organizational-unit-name-length INTEGER ::= 32
|
||||||
|
ub-organizational-units INTEGER ::= 4
|
||||||
|
ub-pds-name-length INTEGER ::= 16
|
||||||
|
ub-pds-parameter-length INTEGER ::= 30
|
||||||
|
ub-pds-physical-address-lines INTEGER ::= 6
|
||||||
|
ub-postal-code-length INTEGER ::= 16
|
||||||
|
ub-surname-length INTEGER ::= 40
|
||||||
|
ub-terminal-id-length INTEGER ::= 24
|
||||||
|
ub-unformatted-address-length INTEGER ::= 180
|
||||||
|
ub-x121-address-length INTEGER ::= 16
|
||||||
|
|
||||||
|
-- Note - upper bounds on string types, such as TeletexString, are
|
||||||
|
-- measured in characters. Excepting PrintableString or IA5String, a
|
||||||
|
-- significantly greater number of octets will be required to hold
|
||||||
|
-- such a value. As a minimum, 16 octets, or twice the specified upper
|
||||||
|
-- bound, whichever is the larger, should be allowed for TeletexString.
|
||||||
|
-- For UTF8String or UniversalString at least four times the upper
|
||||||
|
-- bound should be allowed.
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
920
pkix_asn1_tab.c
Normal file
920
pkix_asn1_tab.c
Normal file
@ -0,0 +1,920 @@
|
|||||||
|
#if HAVE_CONFIG_H
|
||||||
|
# include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <libtasn1.h>
|
||||||
|
|
||||||
|
const asn1_static_node pkix_asn1_tab[] = {
|
||||||
|
{ "PKIX1Implicit88", 536875024, NULL },
|
||||||
|
{ NULL, 1610612748, NULL },
|
||||||
|
{ "iso", 1073741825, "1"},
|
||||||
|
{ "identified-organization", 1073741825, "3"},
|
||||||
|
{ "dod", 1073741825, "6"},
|
||||||
|
{ "internet", 1073741825, "1"},
|
||||||
|
{ "security", 1073741825, "5"},
|
||||||
|
{ "mechanisms", 1073741825, "5"},
|
||||||
|
{ "pkix", 1073741825, "7"},
|
||||||
|
{ "id-mod", 1073741825, "0"},
|
||||||
|
{ "id-pkix1-implicit-88", 1, "2"},
|
||||||
|
{ "id-ce", 1879048204, NULL },
|
||||||
|
{ "joint-iso-ccitt", 1073741825, "2"},
|
||||||
|
{ "ds", 1073741825, "5"},
|
||||||
|
{ NULL, 1, "29"},
|
||||||
|
{ "id-ce-authorityKeyIdentifier", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "35"},
|
||||||
|
{ "AuthorityKeyIdentifier", 1610612741, NULL },
|
||||||
|
{ "keyIdentifier", 1610637314, "KeyIdentifier"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "authorityCertIssuer", 1610637314, "GeneralNames"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "authorityCertSerialNumber", 536895490, "CertificateSerialNumber"},
|
||||||
|
{ NULL, 4104, "2"},
|
||||||
|
{ "KeyIdentifier", 1073741831, NULL },
|
||||||
|
{ "id-ce-subjectKeyIdentifier", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "14"},
|
||||||
|
{ "SubjectKeyIdentifier", 1073741826, "KeyIdentifier"},
|
||||||
|
{ "id-ce-keyUsage", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "15"},
|
||||||
|
{ "KeyUsage", 1610874886, NULL },
|
||||||
|
{ "digitalSignature", 1073741825, "0"},
|
||||||
|
{ "nonRepudiation", 1073741825, "1"},
|
||||||
|
{ "keyEncipherment", 1073741825, "2"},
|
||||||
|
{ "dataEncipherment", 1073741825, "3"},
|
||||||
|
{ "keyAgreement", 1073741825, "4"},
|
||||||
|
{ "keyCertSign", 1073741825, "5"},
|
||||||
|
{ "cRLSign", 1073741825, "6"},
|
||||||
|
{ "encipherOnly", 1073741825, "7"},
|
||||||
|
{ "decipherOnly", 1, "8"},
|
||||||
|
{ "id-ce-privateKeyUsagePeriod", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "16"},
|
||||||
|
{ "PrivateKeyUsagePeriod", 1610612741, NULL },
|
||||||
|
{ "notBefore", 1610637349, NULL },
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "notAfter", 536895525, NULL },
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "id-ce-certificatePolicies", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "32"},
|
||||||
|
{ "CertificatePolicies", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "PolicyInformation"},
|
||||||
|
{ "PolicyInformation", 1610612741, NULL },
|
||||||
|
{ "policyIdentifier", 1073741826, "CertPolicyId"},
|
||||||
|
{ "policyQualifiers", 538984459, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "PolicyQualifierInfo"},
|
||||||
|
{ "CertPolicyId", 1073741836, NULL },
|
||||||
|
{ "PolicyQualifierInfo", 1610612741, NULL },
|
||||||
|
{ "policyQualifierId", 1073741826, "PolicyQualifierId"},
|
||||||
|
{ "qualifier", 541065229, NULL },
|
||||||
|
{ "policyQualifierId", 1, NULL },
|
||||||
|
{ "PolicyQualifierId", 1073741836, NULL },
|
||||||
|
{ "CPSuri", 1073741853, NULL },
|
||||||
|
{ "UserNotice", 1610612741, NULL },
|
||||||
|
{ "noticeRef", 1073758210, "NoticeReference"},
|
||||||
|
{ "explicitText", 16386, "DisplayText"},
|
||||||
|
{ "NoticeReference", 1610612741, NULL },
|
||||||
|
{ "organization", 1073741826, "DisplayText"},
|
||||||
|
{ "noticeNumbers", 536870923, NULL },
|
||||||
|
{ NULL, 3, NULL },
|
||||||
|
{ "DisplayText", 1610612754, NULL },
|
||||||
|
{ "visibleString", 1612709923, NULL },
|
||||||
|
{ "200", 524298, "1"},
|
||||||
|
{ "bmpString", 1612709921, NULL },
|
||||||
|
{ "200", 524298, "1"},
|
||||||
|
{ "utf8String", 538968098, NULL },
|
||||||
|
{ "200", 524298, "1"},
|
||||||
|
{ "id-ce-policyMappings", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "33"},
|
||||||
|
{ "PolicyMappings", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 536870917, NULL },
|
||||||
|
{ "issuerDomainPolicy", 1073741826, "CertPolicyId"},
|
||||||
|
{ "subjectDomainPolicy", 2, "CertPolicyId"},
|
||||||
|
{ "id-ce-subjectAltName", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "17"},
|
||||||
|
{ "SubjectAltName", 1073741826, "GeneralNames"},
|
||||||
|
{ "GeneralNames", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "GeneralName"},
|
||||||
|
{ "GeneralName", 1610612754, NULL },
|
||||||
|
{ "otherName", 1610620930, "AnotherName"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "rfc822Name", 1610620957, NULL },
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "dNSName", 1610620957, NULL },
|
||||||
|
{ NULL, 4104, "2"},
|
||||||
|
{ "x400Address", 1610620930, "ORAddress"},
|
||||||
|
{ NULL, 4104, "3"},
|
||||||
|
{ "directoryName", 1610620930, "Name"},
|
||||||
|
{ NULL, 4104, "4"},
|
||||||
|
{ "ediPartyName", 1610620930, "EDIPartyName"},
|
||||||
|
{ NULL, 4104, "5"},
|
||||||
|
{ "uniformResourceIdentifier", 1610620957, NULL },
|
||||||
|
{ NULL, 4104, "6"},
|
||||||
|
{ "iPAddress", 1610620935, NULL },
|
||||||
|
{ NULL, 4104, "7"},
|
||||||
|
{ "registeredID", 536879116, NULL },
|
||||||
|
{ NULL, 4104, "8"},
|
||||||
|
{ "AnotherName", 1610612741, NULL },
|
||||||
|
{ "type-id", 1073741836, NULL },
|
||||||
|
{ "value", 541073421, NULL },
|
||||||
|
{ NULL, 1073743880, "0"},
|
||||||
|
{ "type-id", 1, NULL },
|
||||||
|
{ "EDIPartyName", 1610612741, NULL },
|
||||||
|
{ "nameAssigner", 1610637314, "DirectoryString"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "partyName", 536879106, "DirectoryString"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "id-ce-issuerAltName", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "18"},
|
||||||
|
{ "IssuerAltName", 1073741826, "GeneralNames"},
|
||||||
|
{ "id-ce-subjectDirectoryAttributes", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "9"},
|
||||||
|
{ "SubjectDirectoryAttributes", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "Attribute"},
|
||||||
|
{ "id-ce-basicConstraints", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "19"},
|
||||||
|
{ "BasicConstraints", 1610612741, NULL },
|
||||||
|
{ "cA", 1610645508, NULL },
|
||||||
|
{ NULL, 131081, NULL },
|
||||||
|
{ "pathLenConstraint", 537411587, NULL },
|
||||||
|
{ "0", 10, "MAX"},
|
||||||
|
{ "id-ce-nameConstraints", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "30"},
|
||||||
|
{ "NameConstraints", 1610612741, NULL },
|
||||||
|
{ "permittedSubtrees", 1610637314, "GeneralSubtrees"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "excludedSubtrees", 536895490, "GeneralSubtrees"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "GeneralSubtrees", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "GeneralSubtree"},
|
||||||
|
{ "GeneralSubtree", 1610612741, NULL },
|
||||||
|
{ "base", 1073741826, "GeneralName"},
|
||||||
|
{ "minimum", 1610653698, "BaseDistance"},
|
||||||
|
{ NULL, 1073741833, "0"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "maximum", 536895490, "BaseDistance"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "BaseDistance", 1611137027, NULL },
|
||||||
|
{ "0", 10, "MAX"},
|
||||||
|
{ "id-ce-policyConstraints", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "36"},
|
||||||
|
{ "PolicyConstraints", 1610612741, NULL },
|
||||||
|
{ "requireExplicitPolicy", 1610637314, "SkipCerts"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "inhibitPolicyMapping", 536895490, "SkipCerts"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "SkipCerts", 1611137027, NULL },
|
||||||
|
{ "0", 10, "MAX"},
|
||||||
|
{ "id-ce-cRLDistributionPoints", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "31"},
|
||||||
|
{ "CRLDistPointsSyntax", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "DistributionPoint"},
|
||||||
|
{ "DistributionPoint", 1610612741, NULL },
|
||||||
|
{ "distributionPoint", 1610637314, "DistributionPointName"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "reasons", 1610637314, "ReasonFlags"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "cRLIssuer", 536895490, "GeneralNames"},
|
||||||
|
{ NULL, 4104, "2"},
|
||||||
|
{ "DistributionPointName", 1610612741, NULL },
|
||||||
|
{ "fullName", 1610637314, "GeneralNames"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "nameRelativeToCRLIssuer", 536895490, "RelativeDistinguishedName"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "ReasonFlags", 1610874886, NULL },
|
||||||
|
{ "unused", 1073741825, "0"},
|
||||||
|
{ "keyCompromise", 1073741825, "1"},
|
||||||
|
{ "cACompromise", 1073741825, "2"},
|
||||||
|
{ "affiliationChanged", 1073741825, "3"},
|
||||||
|
{ "superseded", 1073741825, "4"},
|
||||||
|
{ "cessationOfOperation", 1073741825, "5"},
|
||||||
|
{ "certificateHold", 1, "6"},
|
||||||
|
{ "id-ce-extKeyUsage", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "37"},
|
||||||
|
{ "ExtKeyUsageSyntax", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "KeyPurposeId"},
|
||||||
|
{ "KeyPurposeId", 1073741836, NULL },
|
||||||
|
{ "id-kp-serverAuth", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "id-kp-clientAuth", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "2"},
|
||||||
|
{ "id-kp-codeSigning", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "3"},
|
||||||
|
{ "id-kp-emailProtection", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "4"},
|
||||||
|
{ "id-kp-ipsecEndSystem", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "5"},
|
||||||
|
{ "id-kp-ipsecTunnel", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "6"},
|
||||||
|
{ "id-kp-ipsecUser", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "7"},
|
||||||
|
{ "id-kp-timeStamping", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-kp"},
|
||||||
|
{ NULL, 1, "8"},
|
||||||
|
{ "id-pe-authorityInfoAccess", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-pe"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "AuthorityInfoAccessSyntax", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "AccessDescription"},
|
||||||
|
{ "AccessDescription", 1610612741, NULL },
|
||||||
|
{ "accessMethod", 1073741836, NULL },
|
||||||
|
{ "accessLocation", 2, "GeneralName"},
|
||||||
|
{ "id-ce-cRLNumber", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "20"},
|
||||||
|
{ "CRLNumber", 1611137027, NULL },
|
||||||
|
{ "0", 10, "MAX"},
|
||||||
|
{ "id-ce-issuingDistributionPoint", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "28"},
|
||||||
|
{ "IssuingDistributionPoint", 1610612741, NULL },
|
||||||
|
{ "distributionPoint", 1610637314, "DistributionPointName"},
|
||||||
|
{ NULL, 4104, "0"},
|
||||||
|
{ "onlyContainsUserCerts", 1610653700, NULL },
|
||||||
|
{ NULL, 1073872905, NULL },
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "onlyContainsCACerts", 1610653700, NULL },
|
||||||
|
{ NULL, 1073872905, NULL },
|
||||||
|
{ NULL, 4104, "2"},
|
||||||
|
{ "onlySomeReasons", 1610637314, "ReasonFlags"},
|
||||||
|
{ NULL, 4104, "3"},
|
||||||
|
{ "indirectCRL", 536911876, NULL },
|
||||||
|
{ NULL, 1073872905, NULL },
|
||||||
|
{ NULL, 4104, "4"},
|
||||||
|
{ "id-ce-deltaCRLIndicator", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "27"},
|
||||||
|
{ "BaseCRLNumber", 1073741826, "CRLNumber"},
|
||||||
|
{ "id-ce-cRLReasons", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "21"},
|
||||||
|
{ "CRLReason", 1610874901, NULL },
|
||||||
|
{ "unspecified", 1073741825, "0"},
|
||||||
|
{ "keyCompromise", 1073741825, "1"},
|
||||||
|
{ "cACompromise", 1073741825, "2"},
|
||||||
|
{ "affiliationChanged", 1073741825, "3"},
|
||||||
|
{ "superseded", 1073741825, "4"},
|
||||||
|
{ "cessationOfOperation", 1073741825, "5"},
|
||||||
|
{ "certificateHold", 1073741825, "6"},
|
||||||
|
{ "removeFromCRL", 1, "8"},
|
||||||
|
{ "id-ce-certificateIssuer", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "29"},
|
||||||
|
{ "CertificateIssuer", 1073741826, "GeneralNames"},
|
||||||
|
{ "id-ce-holdInstructionCode", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "23"},
|
||||||
|
{ "HoldInstructionCode", 1073741836, NULL },
|
||||||
|
{ "holdInstruction", 1879048204, NULL },
|
||||||
|
{ "joint-iso-itu-t", 1073741825, "2"},
|
||||||
|
{ "member-body", 1073741825, "2"},
|
||||||
|
{ "us", 1073741825, "840"},
|
||||||
|
{ "x9cm", 1073741825, "10040"},
|
||||||
|
{ NULL, 1, "2"},
|
||||||
|
{ "id-holdinstruction-none", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "holdInstruction"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "id-holdinstruction-callissuer", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "holdInstruction"},
|
||||||
|
{ NULL, 1, "2"},
|
||||||
|
{ "id-holdinstruction-reject", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "holdInstruction"},
|
||||||
|
{ NULL, 1, "3"},
|
||||||
|
{ "id-ce-invalidityDate", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ce"},
|
||||||
|
{ NULL, 1, "24"},
|
||||||
|
{ "InvalidityDate", 1073741861, NULL },
|
||||||
|
{ "id-netscape", 1879048204, NULL },
|
||||||
|
{ "joint-iso-itu-t", 1073741825, "2"},
|
||||||
|
{ "country", 1073741825, "16"},
|
||||||
|
{ "us", 1073741825, "840"},
|
||||||
|
{ "organization", 1073741825, "1"},
|
||||||
|
{ "netscape", 1, "113730"},
|
||||||
|
{ "id-netscape-certExtension", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-netscape"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "id-netscape-certType", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-netscape-certExtension"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "CertType", 1610874886, NULL },
|
||||||
|
{ "sslClient", 1073741825, "0"},
|
||||||
|
{ "sslServer", 1073741825, "1"},
|
||||||
|
{ "smime", 1073741825, "2"},
|
||||||
|
{ "objectSigning", 1073741825, "3"},
|
||||||
|
{ "reserved", 1073741825, "4"},
|
||||||
|
{ "sslCA", 1073741825, "5"},
|
||||||
|
{ "smimeCA", 1073741825, "6"},
|
||||||
|
{ "objectSigningCA", 1, "7"},
|
||||||
|
{ "VisibleString", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "26"},
|
||||||
|
{ "NumericString", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "18"},
|
||||||
|
{ "IA5String", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "22"},
|
||||||
|
{ "TeletexString", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "20"},
|
||||||
|
{ "PrintableString", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "19"},
|
||||||
|
{ "UniversalString", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "28"},
|
||||||
|
{ "BMPString", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "30"},
|
||||||
|
{ "UTF8String", 1610620935, NULL },
|
||||||
|
{ NULL, 4360, "12"},
|
||||||
|
{ "id-pkix", 1879048204, NULL },
|
||||||
|
{ "iso", 1073741825, "1"},
|
||||||
|
{ "identified-organization", 1073741825, "3"},
|
||||||
|
{ "dod", 1073741825, "6"},
|
||||||
|
{ "internet", 1073741825, "1"},
|
||||||
|
{ "security", 1073741825, "5"},
|
||||||
|
{ "mechanisms", 1073741825, "5"},
|
||||||
|
{ "pkix", 1, "7"},
|
||||||
|
{ "id-pe", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-pkix"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "id-qt", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-pkix"},
|
||||||
|
{ NULL, 1, "2"},
|
||||||
|
{ "id-kp", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-pkix"},
|
||||||
|
{ NULL, 1, "3"},
|
||||||
|
{ "id-ad", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-pkix"},
|
||||||
|
{ NULL, 1, "48"},
|
||||||
|
{ "id-qt-cps", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-qt"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "id-qt-unotice", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-qt"},
|
||||||
|
{ NULL, 1, "2"},
|
||||||
|
{ "id-ad-ocsp", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ad"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "id-ad-caIssuers", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "id-ad"},
|
||||||
|
{ NULL, 1, "2"},
|
||||||
|
{ "Attribute", 1610612741, NULL },
|
||||||
|
{ "type", 1073741826, "AttributeType"},
|
||||||
|
{ "values", 536870927, NULL },
|
||||||
|
{ NULL, 2, "AttributeValue"},
|
||||||
|
{ "AttributeType", 1073741836, NULL },
|
||||||
|
{ "AttributeValue", 1073741837, NULL },
|
||||||
|
{ "AttributeTypeAndValue", 1610612741, NULL },
|
||||||
|
{ "type", 1073741826, "AttributeType"},
|
||||||
|
{ "value", 2, "AttributeValue"},
|
||||||
|
{ "id-at", 1879048204, NULL },
|
||||||
|
{ "joint-iso-ccitt", 1073741825, "2"},
|
||||||
|
{ "ds", 1073741825, "5"},
|
||||||
|
{ NULL, 1, "4"},
|
||||||
|
{ "id-at-name", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "41"},
|
||||||
|
{ "id-at-surname", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "4"},
|
||||||
|
{ "id-at-givenName", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "42"},
|
||||||
|
{ "id-at-initials", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "43"},
|
||||||
|
{ "id-at-generationQualifier", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "44"},
|
||||||
|
{ "X520name", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "ub-name", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "ub-name", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "ub-name", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "ub-name", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "ub-name", 524298, "1"},
|
||||||
|
{ "id-at-commonName", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "3"},
|
||||||
|
{ "X520CommonName", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "ub-common-name", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "ub-common-name", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "ub-common-name", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "ub-common-name", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "ub-common-name", 524298, "1"},
|
||||||
|
{ "id-at-localityName", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "7"},
|
||||||
|
{ "X520LocalityName", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "ub-locality-name", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "ub-locality-name", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "ub-locality-name", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "ub-locality-name", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "ub-locality-name", 524298, "1"},
|
||||||
|
{ "id-at-stateOrProvinceName", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "8"},
|
||||||
|
{ "X520StateOrProvinceName", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "ub-state-name", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "ub-state-name", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "ub-state-name", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "ub-state-name", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "ub-state-name", 524298, "1"},
|
||||||
|
{ "id-at-organizationName", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "10"},
|
||||||
|
{ "X520OrganizationName", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "ub-organization-name", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "ub-organization-name", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "ub-organization-name", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "ub-organization-name", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "ub-organization-name", 524298, "1"},
|
||||||
|
{ "id-at-organizationalUnitName", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "11"},
|
||||||
|
{ "X520OrganizationalUnitName", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "ub-organizational-unit-name", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "ub-organizational-unit-name", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "ub-organizational-unit-name", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "ub-organizational-unit-name", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "ub-organizational-unit-name", 524298, "1"},
|
||||||
|
{ "id-at-title", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "12"},
|
||||||
|
{ "X520Title", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "ub-title", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "ub-title", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "ub-title", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "ub-title", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "ub-title", 524298, "1"},
|
||||||
|
{ "id-at-dnQualifier", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "46"},
|
||||||
|
{ "X520dnQualifier", 1073741855, NULL },
|
||||||
|
{ "id-at-countryName", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "id-at"},
|
||||||
|
{ NULL, 1, "6"},
|
||||||
|
{ "X520countryName", 1612709919, NULL },
|
||||||
|
{ NULL, 1048586, "2"},
|
||||||
|
{ "pkcs-9", 1879048204, NULL },
|
||||||
|
{ "iso", 1073741825, "1"},
|
||||||
|
{ "member-body", 1073741825, "2"},
|
||||||
|
{ "us", 1073741825, "840"},
|
||||||
|
{ "rsadsi", 1073741825, "113549"},
|
||||||
|
{ "pkcs", 1073741825, "1"},
|
||||||
|
{ NULL, 1, "9"},
|
||||||
|
{ "emailAddress", 1880096780, "AttributeType"},
|
||||||
|
{ NULL, 1073741825, "pkcs-9"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "Pkcs9email", 1612709917, NULL },
|
||||||
|
{ "ub-emailaddress-length", 524298, "1"},
|
||||||
|
{ "Name", 1610612754, NULL },
|
||||||
|
{ "rdnSequence", 2, "RDNSequence"},
|
||||||
|
{ "RDNSequence", 1610612747, NULL },
|
||||||
|
{ NULL, 2, "RelativeDistinguishedName"},
|
||||||
|
{ "DistinguishedName", 1073741826, "RDNSequence"},
|
||||||
|
{ "RelativeDistinguishedName", 1612709903, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "AttributeTypeAndValue"},
|
||||||
|
{ "DirectoryString", 1610612754, NULL },
|
||||||
|
{ "teletexString", 1612709918, NULL },
|
||||||
|
{ "MAX", 524298, "1"},
|
||||||
|
{ "printableString", 1612709919, NULL },
|
||||||
|
{ "MAX", 524298, "1"},
|
||||||
|
{ "universalString", 1612709920, NULL },
|
||||||
|
{ "MAX", 524298, "1"},
|
||||||
|
{ "utf8String", 1612709922, NULL },
|
||||||
|
{ "MAX", 524298, "1"},
|
||||||
|
{ "bmpString", 538968097, NULL },
|
||||||
|
{ "MAX", 524298, "1"},
|
||||||
|
{ "Certificate", 1610612741, NULL },
|
||||||
|
{ "tbsCertificate", 1073741826, "TBSCertificate"},
|
||||||
|
{ "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"},
|
||||||
|
{ "signature", 6, NULL },
|
||||||
|
{ "TBSCertificate", 1610612741, NULL },
|
||||||
|
{ "version", 1610653698, "Version"},
|
||||||
|
{ NULL, 1073741833, "v1"},
|
||||||
|
{ NULL, 2056, "0"},
|
||||||
|
{ "serialNumber", 1073741826, "CertificateSerialNumber"},
|
||||||
|
{ "signature", 1073741826, "AlgorithmIdentifier"},
|
||||||
|
{ "issuer", 1073741826, "Name"},
|
||||||
|
{ "validity", 1073741826, "Validity"},
|
||||||
|
{ "subject", 1073741826, "Name"},
|
||||||
|
{ "subjectPublicKeyInfo", 1073741826, "SubjectPublicKeyInfo"},
|
||||||
|
{ "issuerUniqueID", 1610637314, "UniqueIdentifier"},
|
||||||
|
{ NULL, 4104, "1"},
|
||||||
|
{ "subjectUniqueID", 1610637314, "UniqueIdentifier"},
|
||||||
|
{ NULL, 4104, "2"},
|
||||||
|
{ "extensions", 536895490, "Extensions"},
|
||||||
|
{ NULL, 2056, "3"},
|
||||||
|
{ "Version", 1610874883, NULL },
|
||||||
|
{ "v1", 1073741825, "0"},
|
||||||
|
{ "v2", 1073741825, "1"},
|
||||||
|
{ "v3", 1, "2"},
|
||||||
|
{ "CertificateSerialNumber", 1073741827, NULL },
|
||||||
|
{ "Validity", 1610612741, NULL },
|
||||||
|
{ "notBefore", 1073741826, "Time"},
|
||||||
|
{ "notAfter", 2, "Time"},
|
||||||
|
{ "Time", 1610612754, NULL },
|
||||||
|
{ "utcTime", 1073741860, NULL },
|
||||||
|
{ "generalTime", 37, NULL },
|
||||||
|
{ "UniqueIdentifier", 1073741830, NULL },
|
||||||
|
{ "SubjectPublicKeyInfo", 1610612741, NULL },
|
||||||
|
{ "algorithm", 1073741826, "AlgorithmIdentifier"},
|
||||||
|
{ "subjectPublicKey", 6, NULL },
|
||||||
|
{ "Extensions", 1612709899, NULL },
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "Extension"},
|
||||||
|
{ "Extension", 1610612741, NULL },
|
||||||
|
{ "extnID", 1073741836, NULL },
|
||||||
|
{ "critical", 1610645508, NULL },
|
||||||
|
{ NULL, 131081, NULL },
|
||||||
|
{ "extnValue", 7, NULL },
|
||||||
|
{ "CertificateList", 1610612741, NULL },
|
||||||
|
{ "tbsCertList", 1073741826, "TBSCertList"},
|
||||||
|
{ "signatureAlgorithm", 1073741826, "AlgorithmIdentifier"},
|
||||||
|
{ "signature", 6, NULL },
|
||||||
|
{ "TBSCertList", 1610612741, NULL },
|
||||||
|
{ "version", 1073758210, "Version"},
|
||||||
|
{ "signature", 1073741826, "AlgorithmIdentifier"},
|
||||||
|
{ "issuer", 1073741826, "Name"},
|
||||||
|
{ "thisUpdate", 1073741826, "Time"},
|
||||||
|
{ "nextUpdate", 1073758210, "Time"},
|
||||||
|
{ "revokedCertificates", 1610629131, NULL },
|
||||||
|
{ NULL, 536870917, NULL },
|
||||||
|
{ "userCertificate", 1073741826, "CertificateSerialNumber"},
|
||||||
|
{ "revocationDate", 1073741826, "Time"},
|
||||||
|
{ "crlEntryExtensions", 16386, "Extensions"},
|
||||||
|
{ "crlExtensions", 536895490, "Extensions"},
|
||||||
|
{ NULL, 2056, "0"},
|
||||||
|
{ "AlgorithmIdentifier", 1610612741, NULL },
|
||||||
|
{ "algorithm", 1073741836, NULL },
|
||||||
|
{ "parameters", 541081613, NULL },
|
||||||
|
{ "algorithm", 1, NULL },
|
||||||
|
{ "pkcs-1", 1879048204, NULL },
|
||||||
|
{ "iso", 1073741825, "1"},
|
||||||
|
{ "member-body", 1073741825, "2"},
|
||||||
|
{ "us", 1073741825, "840"},
|
||||||
|
{ "rsadsi", 1073741825, "113549"},
|
||||||
|
{ "pkcs", 1073741825, "1"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "rsaEncryption", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "pkcs-1"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "md2WithRSAEncryption", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "pkcs-1"},
|
||||||
|
{ NULL, 1, "2"},
|
||||||
|
{ "md5WithRSAEncryption", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "pkcs-1"},
|
||||||
|
{ NULL, 1, "4"},
|
||||||
|
{ "sha1WithRSAEncryption", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "pkcs-1"},
|
||||||
|
{ NULL, 1, "5"},
|
||||||
|
{ "sha256WithRSAEncryption", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "pkcs-1"},
|
||||||
|
{ NULL, 1, "11"},
|
||||||
|
{ "sha384WithRSAEncryption", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "pkcs-1"},
|
||||||
|
{ NULL, 1, "12"},
|
||||||
|
{ "sha512WithRSAEncryption", 1879048204, NULL },
|
||||||
|
{ NULL, 1073741825, "pkcs-1"},
|
||||||
|
{ NULL, 1, "13"},
|
||||||
|
{ "RSAPublicKey", 1610612741, NULL },
|
||||||
|
{ "modulus", 1073741827, NULL },
|
||||||
|
{ "publicExponent", 3, NULL },
|
||||||
|
{ "RSAPrivateKey", 1610612741, NULL },
|
||||||
|
{ "version", 1073741826, "Version"},
|
||||||
|
{ "modulus", 1073741827, NULL },
|
||||||
|
{ "publicExponent", 1073741827, NULL },
|
||||||
|
{ "privateExponent", 1073741827, NULL },
|
||||||
|
{ "prime1", 1073741827, NULL },
|
||||||
|
{ "prime2", 1073741827, NULL },
|
||||||
|
{ "exponent1", 1073741827, NULL },
|
||||||
|
{ "exponent2", 1073741827, NULL },
|
||||||
|
{ "coefficient", 3, NULL },
|
||||||
|
{ "id-dsa-with-sha1", 1879048204, NULL },
|
||||||
|
{ "iso", 1073741825, "1"},
|
||||||
|
{ "member-body", 1073741825, "2"},
|
||||||
|
{ "us", 1073741825, "840"},
|
||||||
|
{ "x9-57", 1073741825, "10040"},
|
||||||
|
{ "x9algorithm", 1073741825, "4"},
|
||||||
|
{ NULL, 1, "3"},
|
||||||
|
{ "Dss-Sig-Value", 1610612741, NULL },
|
||||||
|
{ "r", 1073741827, NULL },
|
||||||
|
{ "s", 3, NULL },
|
||||||
|
{ "dhpublicnumber", 1879048204, NULL },
|
||||||
|
{ "iso", 1073741825, "1"},
|
||||||
|
{ "member-body", 1073741825, "2"},
|
||||||
|
{ "us", 1073741825, "840"},
|
||||||
|
{ "ansi-x942", 1073741825, "10046"},
|
||||||
|
{ "number-type", 1073741825, "2"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "DomainParameters", 1610612741, NULL },
|
||||||
|
{ "p", 1073741827, NULL },
|
||||||
|
{ "g", 1073741827, NULL },
|
||||||
|
{ "q", 1073741827, NULL },
|
||||||
|
{ "j", 1073758211, NULL },
|
||||||
|
{ "validationParms", 16386, "ValidationParms"},
|
||||||
|
{ "ValidationParms", 1610612741, NULL },
|
||||||
|
{ "seed", 1073741830, NULL },
|
||||||
|
{ "pgenCounter", 3, NULL },
|
||||||
|
{ "id-dsa", 1879048204, NULL },
|
||||||
|
{ "iso", 1073741825, "1"},
|
||||||
|
{ "member-body", 1073741825, "2"},
|
||||||
|
{ "us", 1073741825, "840"},
|
||||||
|
{ "x9-57", 1073741825, "10040"},
|
||||||
|
{ "x9algorithm", 1073741825, "4"},
|
||||||
|
{ NULL, 1, "1"},
|
||||||
|
{ "Dss-Parms", 1610612741, NULL },
|
||||||
|
{ "p", 1073741827, NULL },
|
||||||
|
{ "q", 1073741827, NULL },
|
||||||
|
{ "g", 3, NULL },
|
||||||
|
{ "ORAddress", 1610612741, NULL },
|
||||||
|
{ "built-in-standard-attributes", 1073741826, "BuiltInStandardAttributes"},
|
||||||
|
{ "built-in-domain-defined-attributes", 1073758210, "BuiltInDomainDefinedAttributes"},
|
||||||
|
{ "extension-attributes", 16386, "ExtensionAttributes"},
|
||||||
|
{ "BuiltInStandardAttributes", 1610612741, NULL },
|
||||||
|
{ "country-name", 1073758210, "CountryName"},
|
||||||
|
{ "administration-domain-name", 1073758210, "AdministrationDomainName"},
|
||||||
|
{ "network-address", 1610637314, "NetworkAddress"},
|
||||||
|
{ NULL, 2056, "0"},
|
||||||
|
{ "terminal-identifier", 1610637314, "TerminalIdentifier"},
|
||||||
|
{ NULL, 2056, "1"},
|
||||||
|
{ "private-domain-name", 1610637314, "PrivateDomainName"},
|
||||||
|
{ NULL, 2056, "2"},
|
||||||
|
{ "organization-name", 1610637314, "OrganizationName"},
|
||||||
|
{ NULL, 2056, "3"},
|
||||||
|
{ "numeric-user-identifier", 1610637314, "NumericUserIdentifier"},
|
||||||
|
{ NULL, 2056, "4"},
|
||||||
|
{ "personal-name", 1610637314, "PersonalName"},
|
||||||
|
{ NULL, 2056, "5"},
|
||||||
|
{ "organizational-unit-names", 536895490, "OrganizationalUnitNames"},
|
||||||
|
{ NULL, 2056, "6"},
|
||||||
|
{ "CountryName", 1610620946, NULL },
|
||||||
|
{ NULL, 1073746952, "1"},
|
||||||
|
{ "x121-dcc-code", 1612709916, NULL },
|
||||||
|
{ NULL, 1048586, "ub-country-name-numeric-length"},
|
||||||
|
{ "iso-3166-alpha2-code", 538968095, NULL },
|
||||||
|
{ NULL, 1048586, "ub-country-name-alpha-length"},
|
||||||
|
{ "AdministrationDomainName", 1610620946, NULL },
|
||||||
|
{ NULL, 1073744904, "2"},
|
||||||
|
{ "numeric", 1612709916, NULL },
|
||||||
|
{ "ub-domain-name-length", 524298, "0"},
|
||||||
|
{ "printable", 538968095, NULL },
|
||||||
|
{ "ub-domain-name-length", 524298, "0"},
|
||||||
|
{ "NetworkAddress", 1073741826, "X121Address"},
|
||||||
|
{ "X121Address", 1612709916, NULL },
|
||||||
|
{ "ub-x121-address-length", 524298, "1"},
|
||||||
|
{ "TerminalIdentifier", 1612709919, NULL },
|
||||||
|
{ "ub-terminal-id-length", 524298, "1"},
|
||||||
|
{ "PrivateDomainName", 1610612754, NULL },
|
||||||
|
{ "numeric", 1612709916, NULL },
|
||||||
|
{ "ub-domain-name-length", 524298, "1"},
|
||||||
|
{ "printable", 538968095, NULL },
|
||||||
|
{ "ub-domain-name-length", 524298, "1"},
|
||||||
|
{ "OrganizationName", 1612709919, NULL },
|
||||||
|
{ "ub-organization-name-length", 524298, "1"},
|
||||||
|
{ "NumericUserIdentifier", 1612709916, NULL },
|
||||||
|
{ "ub-numeric-user-id-length", 524298, "1"},
|
||||||
|
{ "PersonalName", 1610612750, NULL },
|
||||||
|
{ "surname", 1814044703, NULL },
|
||||||
|
{ NULL, 1073745928, "0"},
|
||||||
|
{ "ub-surname-length", 524298, "1"},
|
||||||
|
{ "given-name", 1814061087, NULL },
|
||||||
|
{ NULL, 1073745928, "1"},
|
||||||
|
{ "ub-given-name-length", 524298, "1"},
|
||||||
|
{ "initials", 1814061087, NULL },
|
||||||
|
{ NULL, 1073745928, "2"},
|
||||||
|
{ "ub-initials-length", 524298, "1"},
|
||||||
|
{ "generation-qualifier", 740319263, NULL },
|
||||||
|
{ NULL, 1073745928, "3"},
|
||||||
|
{ "ub-generation-qualifier-length", 524298, "1"},
|
||||||
|
{ "OrganizationalUnitNames", 1612709899, NULL },
|
||||||
|
{ "ub-organizational-units", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "OrganizationalUnitName"},
|
||||||
|
{ "OrganizationalUnitName", 1612709919, NULL },
|
||||||
|
{ "ub-organizational-unit-name-length", 524298, "1"},
|
||||||
|
{ "BuiltInDomainDefinedAttributes", 1612709899, NULL },
|
||||||
|
{ "ub-domain-defined-attributes", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "BuiltInDomainDefinedAttribute"},
|
||||||
|
{ "BuiltInDomainDefinedAttribute", 1610612741, NULL },
|
||||||
|
{ "type", 1612709919, NULL },
|
||||||
|
{ "ub-domain-defined-attribute-type-length", 524298, "1"},
|
||||||
|
{ "value", 538968095, NULL },
|
||||||
|
{ "ub-domain-defined-attribute-value-length", 524298, "1"},
|
||||||
|
{ "ExtensionAttributes", 1612709903, NULL },
|
||||||
|
{ "ub-extension-attributes", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "ExtensionAttribute"},
|
||||||
|
{ "ExtensionAttribute", 1610612741, NULL },
|
||||||
|
{ "extension-attribute-type", 1611145219, NULL },
|
||||||
|
{ NULL, 1073743880, "0"},
|
||||||
|
{ "0", 10, "ub-extension-attributes"},
|
||||||
|
{ "extension-attribute-value", 541073421, NULL },
|
||||||
|
{ NULL, 1073743880, "1"},
|
||||||
|
{ "extension-attribute-type", 1, NULL },
|
||||||
|
{ "common-name", 1342177283, "1"},
|
||||||
|
{ "CommonName", 1612709919, NULL },
|
||||||
|
{ "ub-common-name-length", 524298, "1"},
|
||||||
|
{ "teletex-common-name", 1342177283, "2"},
|
||||||
|
{ "TeletexCommonName", 1612709918, NULL },
|
||||||
|
{ "ub-common-name-length", 524298, "1"},
|
||||||
|
{ "teletex-organization-name", 1342177283, "3"},
|
||||||
|
{ "TeletexOrganizationName", 1612709918, NULL },
|
||||||
|
{ "ub-organization-name-length", 524298, "1"},
|
||||||
|
{ "teletex-personal-name", 1342177283, "4"},
|
||||||
|
{ "TeletexPersonalName", 1610612750, NULL },
|
||||||
|
{ "surname", 1814044702, NULL },
|
||||||
|
{ NULL, 1073743880, "0"},
|
||||||
|
{ "ub-surname-length", 524298, "1"},
|
||||||
|
{ "given-name", 1814061086, NULL },
|
||||||
|
{ NULL, 1073743880, "1"},
|
||||||
|
{ "ub-given-name-length", 524298, "1"},
|
||||||
|
{ "initials", 1814061086, NULL },
|
||||||
|
{ NULL, 1073743880, "2"},
|
||||||
|
{ "ub-initials-length", 524298, "1"},
|
||||||
|
{ "generation-qualifier", 740319262, NULL },
|
||||||
|
{ NULL, 1073743880, "3"},
|
||||||
|
{ "ub-generation-qualifier-length", 524298, "1"},
|
||||||
|
{ "teletex-organizational-unit-names", 1342177283, "5"},
|
||||||
|
{ "TeletexOrganizationalUnitNames", 1612709899, NULL },
|
||||||
|
{ "ub-organizational-units", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "TeletexOrganizationalUnitName"},
|
||||||
|
{ "TeletexOrganizationalUnitName", 1612709918, NULL },
|
||||||
|
{ "ub-organizational-unit-name-length", 524298, "1"},
|
||||||
|
{ "pds-name", 1342177283, "7"},
|
||||||
|
{ "PDSName", 1612709919, NULL },
|
||||||
|
{ "ub-pds-name-length", 524298, "1"},
|
||||||
|
{ "physical-delivery-country-name", 1342177283, "8"},
|
||||||
|
{ "PhysicalDeliveryCountryName", 1610612754, NULL },
|
||||||
|
{ "x121-dcc-code", 1612709916, NULL },
|
||||||
|
{ NULL, 1048586, "ub-country-name-numeric-length"},
|
||||||
|
{ "iso-3166-alpha2-code", 538968095, NULL },
|
||||||
|
{ NULL, 1048586, "ub-country-name-alpha-length"},
|
||||||
|
{ "postal-code", 1342177283, "9"},
|
||||||
|
{ "PostalCode", 1610612754, NULL },
|
||||||
|
{ "numeric-code", 1612709916, NULL },
|
||||||
|
{ "ub-postal-code-length", 524298, "1"},
|
||||||
|
{ "printable-code", 538968095, NULL },
|
||||||
|
{ "ub-postal-code-length", 524298, "1"},
|
||||||
|
{ "physical-delivery-office-name", 1342177283, "10"},
|
||||||
|
{ "PhysicalDeliveryOfficeName", 1073741826, "PDSParameter"},
|
||||||
|
{ "physical-delivery-office-number", 1342177283, "11"},
|
||||||
|
{ "PhysicalDeliveryOfficeNumber", 1073741826, "PDSParameter"},
|
||||||
|
{ "extension-OR-address-components", 1342177283, "12"},
|
||||||
|
{ "ExtensionORAddressComponents", 1073741826, "PDSParameter"},
|
||||||
|
{ "physical-delivery-personal-name", 1342177283, "13"},
|
||||||
|
{ "PhysicalDeliveryPersonalName", 1073741826, "PDSParameter"},
|
||||||
|
{ "physical-delivery-organization-name", 1342177283, "14"},
|
||||||
|
{ "PhysicalDeliveryOrganizationName", 1073741826, "PDSParameter"},
|
||||||
|
{ "extension-physical-delivery-address-components", 1342177283, "15"},
|
||||||
|
{ "ExtensionPhysicalDeliveryAddressComponents", 1073741826, "PDSParameter"},
|
||||||
|
{ "unformatted-postal-address", 1342177283, "16"},
|
||||||
|
{ "UnformattedPostalAddress", 1610612750, NULL },
|
||||||
|
{ "printable-address", 1814052875, NULL },
|
||||||
|
{ "ub-pds-physical-address-lines", 1074266122, "1"},
|
||||||
|
{ NULL, 538968095, NULL },
|
||||||
|
{ "ub-pds-parameter-length", 524298, "1"},
|
||||||
|
{ "teletex-string", 740311070, NULL },
|
||||||
|
{ "ub-unformatted-address-length", 524298, "1"},
|
||||||
|
{ "street-address", 1342177283, "17"},
|
||||||
|
{ "StreetAddress", 1073741826, "PDSParameter"},
|
||||||
|
{ "post-office-box-address", 1342177283, "18"},
|
||||||
|
{ "PostOfficeBoxAddress", 1073741826, "PDSParameter"},
|
||||||
|
{ "poste-restante-address", 1342177283, "19"},
|
||||||
|
{ "PosteRestanteAddress", 1073741826, "PDSParameter"},
|
||||||
|
{ "unique-postal-name", 1342177283, "20"},
|
||||||
|
{ "UniquePostalName", 1073741826, "PDSParameter"},
|
||||||
|
{ "local-postal-attributes", 1342177283, "21"},
|
||||||
|
{ "LocalPostalAttributes", 1073741826, "PDSParameter"},
|
||||||
|
{ "PDSParameter", 1610612750, NULL },
|
||||||
|
{ "printable-string", 1814052895, NULL },
|
||||||
|
{ "ub-pds-parameter-length", 524298, "1"},
|
||||||
|
{ "teletex-string", 740311070, NULL },
|
||||||
|
{ "ub-pds-parameter-length", 524298, "1"},
|
||||||
|
{ "extended-network-address", 1342177283, "22"},
|
||||||
|
{ "ExtendedNetworkAddress", 1610612754, NULL },
|
||||||
|
{ "e163-4-address", 1610612741, NULL },
|
||||||
|
{ "number", 1612718108, NULL },
|
||||||
|
{ NULL, 1073743880, "0"},
|
||||||
|
{ "ub-e163-4-number-length", 524298, "1"},
|
||||||
|
{ "sub-address", 538992668, NULL },
|
||||||
|
{ NULL, 1073743880, "1"},
|
||||||
|
{ "ub-e163-4-sub-address-length", 524298, "1"},
|
||||||
|
{ "psap-address", 536879106, "PresentationAddress"},
|
||||||
|
{ NULL, 2056, "0"},
|
||||||
|
{ "PresentationAddress", 1610612741, NULL },
|
||||||
|
{ "pSelector", 1610637319, NULL },
|
||||||
|
{ NULL, 2056, "0"},
|
||||||
|
{ "sSelector", 1610637319, NULL },
|
||||||
|
{ NULL, 2056, "1"},
|
||||||
|
{ "tSelector", 1610637319, NULL },
|
||||||
|
{ NULL, 2056, "2"},
|
||||||
|
{ "nAddresses", 538976271, NULL },
|
||||||
|
{ NULL, 1073743880, "3"},
|
||||||
|
{ "MAX", 1074266122, "1"},
|
||||||
|
{ NULL, 7, NULL },
|
||||||
|
{ "terminal-type", 1342177283, "23"},
|
||||||
|
{ "TerminalType", 1611137027, NULL },
|
||||||
|
{ "0", 10, "ub-integer-options"},
|
||||||
|
{ "teletex-domain-defined-attributes", 1342177283, "6"},
|
||||||
|
{ "TeletexDomainDefinedAttributes", 1612709899, NULL },
|
||||||
|
{ "ub-domain-defined-attributes", 1074266122, "1"},
|
||||||
|
{ NULL, 2, "TeletexDomainDefinedAttribute"},
|
||||||
|
{ "TeletexDomainDefinedAttribute", 1610612741, NULL },
|
||||||
|
{ "type", 1612709918, NULL },
|
||||||
|
{ "ub-domain-defined-attribute-type-length", 524298, "1"},
|
||||||
|
{ "value", 538968094, NULL },
|
||||||
|
{ "ub-domain-defined-attribute-value-length", 524298, "1"},
|
||||||
|
{ "ub-name", 1342177283, "32768"},
|
||||||
|
{ "ub-common-name", 1342177283, "64"},
|
||||||
|
{ "ub-locality-name", 1342177283, "128"},
|
||||||
|
{ "ub-state-name", 1342177283, "128"},
|
||||||
|
{ "ub-organization-name", 1342177283, "64"},
|
||||||
|
{ "ub-organizational-unit-name", 1342177283, "64"},
|
||||||
|
{ "ub-title", 1342177283, "64"},
|
||||||
|
{ "ub-match", 1342177283, "128"},
|
||||||
|
{ "ub-emailaddress-length", 1342177283, "128"},
|
||||||
|
{ "ub-common-name-length", 1342177283, "64"},
|
||||||
|
{ "ub-country-name-alpha-length", 1342177283, "2"},
|
||||||
|
{ "ub-country-name-numeric-length", 1342177283, "3"},
|
||||||
|
{ "ub-domain-defined-attributes", 1342177283, "4"},
|
||||||
|
{ "ub-domain-defined-attribute-type-length", 1342177283, "8"},
|
||||||
|
{ "ub-domain-defined-attribute-value-length", 1342177283, "128"},
|
||||||
|
{ "ub-domain-name-length", 1342177283, "16"},
|
||||||
|
{ "ub-extension-attributes", 1342177283, "256"},
|
||||||
|
{ "ub-e163-4-number-length", 1342177283, "15"},
|
||||||
|
{ "ub-e163-4-sub-address-length", 1342177283, "40"},
|
||||||
|
{ "ub-generation-qualifier-length", 1342177283, "3"},
|
||||||
|
{ "ub-given-name-length", 1342177283, "16"},
|
||||||
|
{ "ub-initials-length", 1342177283, "5"},
|
||||||
|
{ "ub-integer-options", 1342177283, "256"},
|
||||||
|
{ "ub-numeric-user-id-length", 1342177283, "32"},
|
||||||
|
{ "ub-organization-name-length", 1342177283, "64"},
|
||||||
|
{ "ub-organizational-unit-name-length", 1342177283, "32"},
|
||||||
|
{ "ub-organizational-units", 1342177283, "4"},
|
||||||
|
{ "ub-pds-name-length", 1342177283, "16"},
|
||||||
|
{ "ub-pds-parameter-length", 1342177283, "30"},
|
||||||
|
{ "ub-pds-physical-address-lines", 1342177283, "6"},
|
||||||
|
{ "ub-postal-code-length", 1342177283, "16"},
|
||||||
|
{ "ub-surname-length", 1342177283, "40"},
|
||||||
|
{ "ub-terminal-id-length", 1342177283, "24"},
|
||||||
|
{ "ub-unformatted-address-length", 1342177283, "180"},
|
||||||
|
{ "ub-x121-address-length", 268435459, "16"},
|
||||||
|
{ NULL, 0, NULL }
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user