mirror of https://github.com/wolfSSL/wolfssl.git
1250 lines
58 KiB
Perl
Executable File
1250 lines
58 KiB
Perl
Executable File
#!/usr/bin/env perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Time::Piece;
|
|
|
|
my %oid_sum_xors = ();
|
|
|
|
sub oid_sum {
|
|
my @a = @_;
|
|
my $oid_sum = 0;
|
|
|
|
for (my $i = 0; $i < 0+@a; $i++) {
|
|
$oid_sum += $a[$i];
|
|
}
|
|
|
|
return $oid_sum;
|
|
}
|
|
|
|
sub oid_sum_xor {
|
|
my @a = @_;
|
|
my $oid_val = 0;
|
|
|
|
for (my $i = 0; $i < 0+@a; $i++) {
|
|
$oid_val ^= (~$a[$i]) << (($i * 8) % 32);
|
|
}
|
|
|
|
return ($oid_val & 0x7fffffff);
|
|
}
|
|
|
|
|
|
sub dotted_to_array {
|
|
my $dotted = $_[0];
|
|
my @a = ();
|
|
|
|
my $d = ($dotted->[0] * 40) + $dotted->[1];
|
|
my $j = 0;
|
|
for (my $i = 1; $i < 0+@$dotted; $i++) {
|
|
if ($d > 0) {
|
|
my $y = $j;
|
|
my $mask = 0;
|
|
while ($d > 0) {
|
|
$a[$j] = ($d & 0x7f) | $mask;
|
|
$j++;
|
|
$d >>= 7;
|
|
$mask |= 0x80;
|
|
}
|
|
my $z = $j - 1;
|
|
while ($y< $z) {
|
|
$mask = $a[$y];
|
|
$a[$y] = $a[$z];
|
|
$a[$z] = $mask;
|
|
$y++;
|
|
$z--;
|
|
}
|
|
}
|
|
else {
|
|
$a[$j] = 0x00;
|
|
$j++;
|
|
}
|
|
|
|
if ($i < 0+@$dotted - 1) {
|
|
$d = $dotted->[$i + 1];
|
|
}
|
|
}
|
|
|
|
return @a;
|
|
}
|
|
|
|
sub oid_array_to_string {
|
|
my @a = @_;
|
|
my $str = "";
|
|
|
|
for (my $i = 0; $i < 0+@a; $i++) {
|
|
$str = $str . sprintf("0x%02x", $a[$i]);
|
|
if ($i < 0+@a-1) {
|
|
$str = $str . ",";
|
|
}
|
|
}
|
|
return $str;
|
|
}
|
|
|
|
sub dotted_to_string {
|
|
my $a = $_[0];
|
|
my $str = "";
|
|
|
|
for (my $i = 0; $i < 0+@$a; $i++) {
|
|
$str = $str . sprintf("%d", $a->[$i]);
|
|
if ($i < 0+@$a-1) {
|
|
$str = $str . ".";
|
|
}
|
|
}
|
|
return $str;
|
|
}
|
|
|
|
sub print_enum {
|
|
my $name = $_[0];
|
|
my $ext = $_[1];
|
|
my $oids = $_[2];
|
|
my $eq_col = $_[3];
|
|
my $comment_col = $_[4];
|
|
|
|
print "enum " . $name . " {\n";
|
|
print "#ifdef WOLFSSL_OLD_OID_SUM\n";
|
|
for (my $i = 0; $i < 0+@$oids; $i++) {
|
|
my @a = dotted_to_array($oids->[$i]->{oid});
|
|
my $sum = oid_sum(@a);
|
|
if (exists $oids->[$i]->{oid_sum}) {
|
|
$sum = $oids->[$i]->{oid_sum};
|
|
}
|
|
if (exists $oids->[$i]->{add_sum}) {
|
|
$sum += $oids->[$i]->{add_sum};
|
|
}
|
|
|
|
print " /* " . oid_array_to_string(@a) . " */\n";
|
|
if ($comment_col == 0) {
|
|
print " /* " . dotted_to_string($oids->[$i]->{oid}) . " */\n";
|
|
}
|
|
my $str = " " . $oids->[$i]->{name} . $ext . " ";
|
|
$str .= " " x ($eq_col - length($str));
|
|
$str .= "= " . $sum;
|
|
if ($i < 0+@$oids-1) {
|
|
$str .= ",";
|
|
}
|
|
print $str;
|
|
if ($comment_col > 0) {
|
|
print " " x ($comment_col - length($str));
|
|
print " /* " . dotted_to_string($oids->[$i]->{oid}) . " */\n";
|
|
}
|
|
else {
|
|
print "\n";
|
|
}
|
|
}
|
|
print "#else\n";
|
|
for (my $i = 0; $i < 0+@$oids; $i++) {
|
|
my @a = dotted_to_array($oids->[$i]->{oid});
|
|
my $sum = oid_sum_xor(@a);
|
|
|
|
if (not exists $oids->[$i]->{same} and exists $oid_sum_xors{$sum}) {
|
|
print STDERR "Clash of " . $oids->[$i]->{name} . " with " . $oid_sum_xors{$sum} . "\n";
|
|
} else {
|
|
$oid_sum_xors{$sum} = $oids->[$i]->{name};
|
|
}
|
|
|
|
print " /* " . oid_array_to_string(@a) . " */\n";
|
|
if ($comment_col == 0) {
|
|
print " /* " . dotted_to_string($oids->[$i]->{oid}) . " */\n";
|
|
}
|
|
my $str = " " . $oids->[$i]->{name} . $ext . " ";
|
|
$str .= " " x ($eq_col - length($str));
|
|
$str .= sprintf("= 0x%08x", $sum);
|
|
if ($i < 0+@$oids-1) {
|
|
$str .= ",";
|
|
}
|
|
print $str;
|
|
if ($comment_col > 0) {
|
|
print " " x ($comment_col - length($str));
|
|
print " /* " . dotted_to_string($oids->[$i]->{oid}) . " */\n";
|
|
}
|
|
else {
|
|
print "\n";
|
|
}
|
|
}
|
|
print "#endif\n";
|
|
print "};\n\n"
|
|
}
|
|
|
|
sub print_sum_enum {
|
|
print_enum($_[0] . "_Sum", $_[1], $_[2], 32, 48);
|
|
}
|
|
|
|
sub print_header {
|
|
my $t = Time::Piece->new();
|
|
|
|
print "/* oid_sum.h
|
|
*
|
|
* Copyright (C) 2006-" . $t->year ." wolfSSL Inc.
|
|
*
|
|
* This file is part of wolfSSL.
|
|
*
|
|
* wolfSSL 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 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* wolfSSL 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, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
|
*/
|
|
|
|
/* Generated using (from wolfssl):
|
|
* ./scripts/asn1_oid_sum.pl > wolfssl/wolfcrypt/oid_sum.h
|
|
*/
|
|
|
|
#ifndef WOLF_CRYPT_OID_SUM_H
|
|
#define WOLF_CRYPT_OID_SUM_H
|
|
|
|
"
|
|
}
|
|
|
|
sub print_footer {
|
|
print "#endif /* !WOLF_CRYPT_OID_SUM_H */\n"
|
|
}
|
|
|
|
print_header();
|
|
|
|
my @md2 = (1, 2, 840, 113549, 2, 2);
|
|
my @md4 = (1, 2, 840, 113549, 2, 4);
|
|
my @md5 = (1, 2, 840, 113549, 2, 5);
|
|
my @sha1 = (1, 3, 14, 3, 2, 26);
|
|
my @sha224 = (2, 16, 840, 1, 101, 3, 4, 2, 4);
|
|
my @sha256 = (2, 16, 840, 1, 101, 3, 4, 2, 1);
|
|
my @sha384 = (2, 16, 840, 1, 101, 3, 4, 2, 2);
|
|
my @sha512 = (2, 16, 840, 1, 101, 3, 4, 2, 3);
|
|
my @sha512_224 = (2, 16, 840, 1, 101, 3, 4, 2, 5);
|
|
my @sha512_256 = (2, 16, 840, 1, 101, 3, 4, 2, 6);
|
|
my @sha3_224 = (2, 16, 840, 1, 101, 3, 4, 2, 7);
|
|
my @sha3_256 = (2, 16, 840, 1, 101, 3, 4, 2, 8);
|
|
my @sha3_384 = (2, 16, 840, 1, 101, 3, 4, 2, 9);
|
|
my @sha3_512 = (2, 16, 840, 1, 101, 3, 4, 2, 10);
|
|
my @shake_128 = (2, 16, 840, 1, 101, 3, 4, 2, 11);
|
|
my @shake_256 = (2, 16, 840, 1, 101, 3, 4, 2, 12);
|
|
my @sm3 = (1, 2, 156, 10197, 1, 401);
|
|
|
|
my @hashes = (
|
|
{ name => "MD2", oid => \@md2 },
|
|
{ name => "MD4", oid => \@md4 },
|
|
{ name => "MD5", oid => \@md5 },
|
|
{ name => "SHA", oid => \@sha1 },
|
|
{ name => "SHA224", oid => \@sha224 },
|
|
{ name => "SHA256", oid => \@sha256 },
|
|
{ name => "SHA384", oid => \@sha384 },
|
|
{ name => "SHA512", oid => \@sha512 },
|
|
{ name => "SHA512_224", oid => \@sha512_224 },
|
|
{ name => "SHA512_256", oid => \@sha512_256 },
|
|
{ name => "SHA3_224", oid => \@sha3_224 },
|
|
{ name => "SHA3_256", oid => \@sha3_256 },
|
|
{ name => "SHA3_384", oid => \@sha3_384 },
|
|
{ name => "SHA3_512", oid => \@sha3_512 },
|
|
{ name => "SHAKE128", oid => \@shake_128 },
|
|
{ name => "SHAKE256", oid => \@shake_256 },
|
|
{ name => "SM3", oid => \@sm3 },
|
|
);
|
|
|
|
print_sum_enum("Hash", "h", \@hashes);
|
|
|
|
my @aes_128_cbc = ( 2, 16, 840, 1, 101, 3, 4, 1, 2 );
|
|
my @aes_128_gcm = ( 2, 16, 840, 1, 101, 3, 4, 1, 6 );
|
|
my @aes_128_ccm = ( 2, 16, 840, 1, 101, 3, 4, 1, 7 );
|
|
my @aes_192_cbc = ( 2, 16, 840, 1, 101, 3, 4, 1, 22 );
|
|
my @aes_192_gcm = ( 2, 16, 840, 1, 101, 3, 4, 1, 26 );
|
|
my @aes_192_ccm = ( 2, 16, 840, 1, 101, 3, 4, 1, 27 );
|
|
my @aes_256_cbc = ( 2, 16, 840, 1, 101, 3, 4, 1, 42 );
|
|
my @aes_256_gcm = ( 2, 16, 840, 1, 101, 3, 4, 1, 46 );
|
|
my @aes_256_ccm = ( 2, 16, 840, 1, 101, 3, 4, 1, 47 );
|
|
my @des_cbc = ( 1, 3, 14, 3, 2, 7 );
|
|
my @des3_cbc = ( 1, 2, 840, 113549, 3, 7 );
|
|
|
|
my @blocks = (
|
|
{ name => "AES128CBC", oid => \@aes_128_cbc },
|
|
{ name => "AES128GCM", oid => \@aes_128_gcm },
|
|
{ name => "AES128CCM", oid => \@aes_128_ccm },
|
|
{ name => "AES192CBC", oid => \@aes_192_cbc },
|
|
{ name => "AES192GCM", oid => \@aes_192_gcm },
|
|
{ name => "AES192CCM", oid => \@aes_192_ccm },
|
|
{ name => "AES256CBC", oid => \@aes_256_cbc },
|
|
{ name => "AES256GCM", oid => \@aes_256_gcm },
|
|
{ name => "AES256CCM", oid => \@aes_256_ccm },
|
|
{ name => "DES", oid => \@des_cbc },
|
|
{ name => "DES3", oid => \@des3_cbc },
|
|
);
|
|
|
|
print_sum_enum("Block", "b", \@blocks);
|
|
|
|
my @anon = ( 0, 0 );
|
|
my @dsa = ( 1, 2, 840, 10040, 4, 1 );
|
|
my @rsa = ( 1, 2, 840, 113549, 1, 1, 1 );
|
|
my @rsa_pss = ( 1, 2, 840, 113549, 1, 1, 10 );
|
|
my @rsa_oeap = ( 1, 2, 840, 113549, 1, 1, 7 );
|
|
my @ecdsa = ( 1, 2, 840, 10045, 2, 1 );
|
|
my @sm2 = ( 1, 2, 156, 10197, 1, 301 );
|
|
my @ed25519 = ( 1, 3, 101, 112 );
|
|
my @x25519 = ( 1, 3, 101, 110 );
|
|
my @ed448 = ( 1, 3, 101, 113 );
|
|
my @x448 = ( 1, 3, 101, 111 );
|
|
my @dh = ( 1, 2, 840, 113549, 1, 3, 1 );
|
|
my @falcon_1 = ( 1, 3, 9999, 3, 6 );
|
|
my @falcon_5 = ( 1, 3, 9999, 3, 9 );
|
|
my @dilithium_2 = ( 1, 3, 6, 1, 4, 1, 2, 267, 12, 4, 4 );
|
|
my @dilithium_3 = ( 1, 3, 6, 1, 4, 1, 2, 267, 12, 6, 5 );
|
|
my @dilithium_5 = ( 1, 3, 6, 1, 4, 1, 2, 267, 12, 8, 7 );
|
|
my @mldsa_2 = ( 2, 16, 840, 1, 101, 3, 4, 3, 17 );
|
|
my @mldsa_3 = ( 2, 16, 840, 1, 101, 3, 4, 3, 18 );
|
|
my @mldsa_5 = ( 2, 16, 840, 1, 101, 3, 4, 3, 19 );
|
|
my @sphincs_fast_1 = ( 1, 3, 9999, 6, 7, 4 );
|
|
my @sphincs_fast_3 = ( 1, 3, 9999, 6, 8, 3 );
|
|
my @sphincs_fast_5 = ( 1, 3, 9999, 6, 9, 3 );
|
|
my @sphincs_small_1 = ( 1, 3, 9999, 6, 7, 10 );
|
|
my @sphincs_small_3 = ( 1, 3, 9999, 6, 8, 7 );
|
|
my @sphincs_small_5 = ( 1, 3, 9999, 6, 9, 7 );
|
|
|
|
my @keys = (
|
|
{ name => "ANON", oid => \@anon },
|
|
{ name => "DSA", oid => \@dsa },
|
|
{ name => "RSA", oid => \@rsa },
|
|
{ name => "RSAPSS", oid => \@rsa_pss },
|
|
{ name => "RSAESOAEP", oid => \@rsa_oeap },
|
|
{ name => "ECDSA", oid => \@ecdsa },
|
|
{ name => "SM2", oid => \@sm2 },
|
|
{ name => "ED25519", oid => \@ed25519 },
|
|
{ name => "X25519", oid => \@x25519 },
|
|
{ name => "ED448", oid => \@ed448 },
|
|
{ name => "X448", oid => \@x448 },
|
|
{ name => "DH", oid => \@dh },
|
|
{ name => "FALCON_LEVEL1", oid => \@falcon_1 },
|
|
{ name => "FALCON_LEVEL5", oid => \@falcon_5 },
|
|
{ name => "DILITHIUM_LEVEL2", oid => \@dilithium_2 },
|
|
{ name => "DILITHIUM_LEVEL3", oid => \@dilithium_3 },
|
|
{ name => "DILITHIUM_LEVEL5", oid => \@dilithium_5 },
|
|
{ name => "ML_DSA_LEVEL2", oid => \@mldsa_2 },
|
|
{ name => "ML_DSA_LEVEL3", oid => \@mldsa_3 },
|
|
{ name => "ML_DSA_LEVEL5", oid => \@mldsa_5 },
|
|
{ name => "SPHINCS_FAST_LEVEL1", oid => \@sphincs_fast_1 },
|
|
{ name => "SPHINCS_FAST_LEVEL3", oid => \@sphincs_fast_3,
|
|
oid_sum => 283 },
|
|
{ name => "SPHINCS_FAST_LEVEL5", oid => \@sphincs_fast_5 },
|
|
{ name => "SPHINCS_SMALL_LEVEL1", oid => \@sphincs_small_1 },
|
|
{ name => "SPHINCS_SMALL_LEVEL3", oid => \@sphincs_small_3 },
|
|
{ name => "SPHINCS_SMALL_LEVEL5", oid => \@sphincs_small_5 },
|
|
);
|
|
|
|
print_sum_enum("Key", "k", \@keys);
|
|
|
|
|
|
my @aes128_kw = ( 2, 16, 840, 1, 101, 3, 4, 1, 5 );
|
|
my @aes192_kw = ( 2, 16, 840, 1, 101, 3, 4, 1, 25 );
|
|
my @aes256_kw = ( 2, 16, 840, 1, 101, 3, 4, 1, 45 );
|
|
my @pwri_kek = ( 1, 2, 840, 113549, 1, 9, 16, 3, 9);
|
|
|
|
my @key_wraps = (
|
|
{ name => "AES128", oid => \@aes128_kw },
|
|
{ name => "AES192", oid => \@aes192_kw },
|
|
{ name => "AES256", oid => \@aes256_kw },
|
|
{ name => "PWRI_KEK", oid => \@pwri_kek },
|
|
);
|
|
|
|
print_sum_enum("KeyWrap", "_WRAP", \@key_wraps);
|
|
|
|
|
|
my @dh_sha1 = ( 1, 3, 133, 16, 840, 63, 0, 2 );
|
|
my @dh_sha224 = ( 1, 3, 132, 1, 11, 0 );
|
|
my @dh_sha256 = ( 1, 3, 132, 1, 11, 1 );
|
|
my @dh_sha384 = ( 1, 3, 132, 1, 11, 2 );
|
|
my @dh_sha512 = ( 1, 3, 132, 1, 11, 3 );
|
|
|
|
my @key_agrees = (
|
|
{ name => "dhSinglePass_stdDH_sha1kdf", oid => \@dh_sha1 },
|
|
{ name => "dhSinglePass_stdDH_sha224kdf", oid => \@dh_sha224 },
|
|
{ name => "dhSinglePass_stdDH_sha256kdf", oid => \@dh_sha256 },
|
|
{ name => "dhSinglePass_stdDH_sha384kdf", oid => \@dh_sha384 },
|
|
{ name => "dhSinglePass_stdDH_sha512kdf", oid => \@dh_sha512 },
|
|
);
|
|
|
|
print_enum("Key_Agree", "_scheme", \@key_agrees, 40, 0);
|
|
|
|
|
|
my @pbkdf2 = ( 1, 2, 840, 113549, 1, 5, 12 );
|
|
my @mgf1 = (1, 2, 840, 113549, 1, 1, 8 );
|
|
|
|
my @kdfs = (
|
|
{ name => "PBKDF2", oid => \@pbkdf2 },
|
|
{ name => "MGF1", oid => \@mgf1 },
|
|
);
|
|
|
|
print_sum_enum("KDF", "_OID", \@kdfs);
|
|
|
|
|
|
my @hmac_sha224 = ( 1, 2, 840, 113549, 2, 8 );
|
|
my @hmac_sha256 = ( 1, 2, 840, 113549, 2, 9 );
|
|
my @hmac_sha384 = ( 1, 2, 840, 113549, 2, 10 );
|
|
my @hmac_sha512 = ( 1, 2, 840, 113549, 2, 11 );
|
|
my @hmac_sha3_224 = ( 2, 16, 840, 1, 101, 3, 4, 2, 13 );
|
|
my @hmac_sha3_256 = ( 2, 16, 840, 1, 101, 3, 4, 2, 14 );
|
|
my @hmac_sha3_384 = ( 2, 16, 840, 1, 101, 3, 4, 2, 15 );
|
|
my @hmac_sha3_512 = ( 2, 16, 840, 1, 101, 3, 4, 2, 16 );
|
|
|
|
my @hmacs = (
|
|
{ name => "HMAC_SHA224", oid => \@hmac_sha224 },
|
|
{ name => "HMAC_SHA256", oid => \@hmac_sha256 },
|
|
{ name => "HMAC_SHA384", oid => \@hmac_sha384 },
|
|
{ name => "HMAC_SHA512", oid => \@hmac_sha512 },
|
|
{ name => "HMAC_SHA3_224", oid => \@hmac_sha3_224 },
|
|
{ name => "HMAC_SHA3_256", oid => \@hmac_sha3_256 },
|
|
{ name => "HMAC_SHA3_384", oid => \@hmac_sha3_384 },
|
|
{ name => "HMAC_SHA3_512", oid => \@hmac_sha3_512 },
|
|
);
|
|
|
|
print_sum_enum("HMAC", "_OID", \@hmacs);
|
|
|
|
|
|
my @basic_ca = ( 2, 5, 29, 19 );
|
|
my @alt_names = ( 2, 5, 29, 17 );
|
|
my @crl_dist = ( 2, 5, 29, 31 );
|
|
my @auth_info = ( 1, 3, 6, 1, 5, 5, 7, 1, 1 );
|
|
my @auth_key = ( 2, 5, 29, 35 );
|
|
my @subj_key = ( 2, 5, 29, 14 );
|
|
my @cert_policy = ( 2, 5, 29, 32 );
|
|
my @crl_number = ( 2, 5, 29, 20 );
|
|
my @key_usage = ( 2, 5, 29, 15 );
|
|
my @inhibit_any = ( 2, 5, 29, 54 );
|
|
my @ext_key_usage = ( 2, 5, 29, 37 );
|
|
my @name_cons = ( 2, 5, 29, 30 );
|
|
my @priv_key_usage_period = ( 2, 5, 29, 16 );
|
|
my @subj_info_acc = ( 1, 3, 6, 1, 5, 5, 7, 1, 11 );
|
|
my @policy_map = ( 2, 5, 29, 33 );
|
|
my @policy_const = ( 2, 5, 29, 36 );
|
|
my @issue_alt_names = ( 2, 5, 29, 18 );
|
|
my @tls_feature = ( 1, 3, 6, 1, 5, 5, 7, 1, 24 );
|
|
my @dns_srv = ( 1, 3, 6, 1, 5, 5, 7, 8, 7 );
|
|
my @netscape_ct = ( 2, 16, 840, 1, 113730, 1, 1 );
|
|
my @ocsp_nocheck = ( 1, 3, 6, 1, 5, 5, 7, 48, 1, 5 );
|
|
my @subj_dir_attr = ( 2, 5, 29, 9 );
|
|
my @akey_package = ( 2, 16, 840, 1, 101, 2, 1, 2, 78, 5 );
|
|
my @fascn = ( 2, 16, 840, 1, 101, 3, 6, 6 );
|
|
my @upn = ( 1, 3, 6, 1, 4, 1, 311, 20, 2, 3 );
|
|
my @subj_alt_pub_key_info = ( 2, 5, 29, 72 );
|
|
my @alt_sig_alg = ( 2, 5, 29, 73 );
|
|
my @alt_sig_val = ( 2, 5, 29, 74 );
|
|
|
|
my @exts = (
|
|
{ name => "BASIC_CA", oid => \@basic_ca },
|
|
{ name => "ALT_NAMES", oid => \@alt_names },
|
|
{ name => "CRL_DIST", oid => \@crl_dist },
|
|
{ name => "AUTH_INFO", oid => \@auth_info },
|
|
{ name => "AUTH_KEY", oid => \@auth_key },
|
|
{ name => "SUBJ_KEY", oid => \@subj_key },
|
|
{ name => "CERT_POLICY", oid => \@cert_policy },
|
|
{ name => "CRL_NUMBER", oid => \@crl_number },
|
|
{ name => "KEY_USAGE", oid => \@key_usage },
|
|
{ name => "INHIBIT_ANY", oid => \@inhibit_any },
|
|
{ name => "EXT_KEY_USAGE", oid => \@ext_key_usage },
|
|
{ name => "NAME_CONS", oid => \@name_cons },
|
|
{ name => "PRIV_KEY_USAGE_PERIOD", oid => \@priv_key_usage_period },
|
|
{ name => "SUBJ_INFO_ACC", oid => \@subj_info_acc },
|
|
{ name => "POLICY_MAP", oid => \@policy_map },
|
|
{ name => "POLICY_CONST", oid => \@policy_const },
|
|
{ name => "ISSUE_ALT_NAMES", oid => \@issue_alt_names },
|
|
{ name => "TLS_FEATURE", oid => \@tls_feature },
|
|
{ name => "DNS_SRV", oid => \@dns_srv },
|
|
{ name => "NETSCAPE_CT", oid => \@netscape_ct },
|
|
{ name => "OCSP_NOCHECK", oid => \@ocsp_nocheck },
|
|
{ name => "SUBJ_DIR_ATTR", oid => \@subj_dir_attr },
|
|
{ name => "AKEY_PACKAGE", oid => \@akey_package },
|
|
{ name => "FASCN", oid => \@fascn },
|
|
{ name => "UPN", oid => \@upn },
|
|
{ name => "SUBJ_ALT_PUB_KEY_INFO", oid => \@subj_alt_pub_key_info },
|
|
{ name => "ALT_SIG_ALG", oid => \@alt_sig_alg },
|
|
{ name => "ALT_SIG_VAL", oid => \@alt_sig_val },
|
|
);
|
|
|
|
print_sum_enum("Extensions", "_OID", \@exts);
|
|
|
|
|
|
my @cp_any = ( 2, 5, 29, 32, 0 );
|
|
my @cp_isrg_domain_valid = ( 1, 3, 6, 1, 4, 1, 44947, 1, 1, 1 );
|
|
my @cp_fpki_high_assurance = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 4 );
|
|
my @cp_fpki_common_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 7 );
|
|
my @cp_fpki_medium_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 12 );
|
|
my @cp_fpki_common_auth = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 13 );
|
|
my @cp_fpki_common_high = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 16 );
|
|
my @cp_fpki_pivi_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 18 );
|
|
my @cp_fpki_pivi_cs = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 20 );
|
|
my @cp_fpki_common_dev_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 36 );
|
|
my @cp_fpki_medium_dev_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 38 );
|
|
my @cp_fpki_common_piv_cs = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 39 );
|
|
my @cp_fpki_piv_auth = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 40 );
|
|
my @cp_fpki_piv_auth_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 41 );
|
|
my @cp_fpki_pivi_auth = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 45 );
|
|
my @cp_fpki_common_pivi_cs = ( 2, 16, 840, 1, 101, 3, 2, 1, 3, 47 );
|
|
|
|
my @cp_fpki_auth_test = ( 2, 16, 840, 1, 101, 3, 2, 1, 48, 11 );
|
|
my @cp_fpki_cardauth_test = ( 2, 16, 840, 1, 101, 3, 2, 1, 48, 13 );
|
|
my @cp_fpki_piv_content_test = ( 2, 16, 840, 1, 101, 3, 2, 1, 48, 86 );
|
|
my @cp_fpki_piv_auth_der_test = ( 2, 16, 840, 1, 101, 3, 2, 1, 48, 109 );
|
|
my @cp_fpki_piv_auth_der_hw_test = ( 2, 16, 840, 1, 101, 3, 2, 1, 48, 110 );
|
|
|
|
my @cp_dod_medium = ( 2, 16, 840, 1, 101, 2, 1, 11, 5 );
|
|
my @cp_dod_medium_hw = ( 2, 16, 840, 1, 101, 2, 1, 11, 9 );
|
|
my @cp_dod_piv_auth = ( 2, 16, 840, 1, 101, 2, 1, 11, 10 );
|
|
my @cp_dod_medium_npe = ( 2, 16, 840, 1, 101, 2, 1, 11, 17 );
|
|
my @cp_dod_medium_2048 = ( 2, 16, 840, 1, 101, 2, 1, 11, 18 );
|
|
my @cp_dod_medium_hw_2048 = ( 2, 16, 840, 1, 101, 2, 1, 11, 19 );
|
|
my @cp_dod_piv_auth_2048 = ( 2, 16, 840, 1, 101, 2, 1, 11, 20 );
|
|
my @cp_dod_peer_interop = ( 2, 16, 840, 1, 101, 2, 1, 11, 31 );
|
|
my @cp_dod_medium_npe_112 = ( 2, 16, 840, 1, 101, 2, 1, 11, 36 );
|
|
my @cp_dod_medium_npe_128 = ( 2, 16, 840, 1, 101, 2, 1, 11, 37 );
|
|
my @cp_dod_medium_npe_192 = ( 2, 16, 840, 1, 101, 2, 1, 11, 38 );
|
|
my @cp_dod_medium_112 = ( 2, 16, 840, 1, 101, 2, 1, 11, 39 );
|
|
my @cp_dod_medium_128 = ( 2, 16, 840, 1, 101, 2, 1, 11, 40 );
|
|
my @cp_dod_medium_192 = ( 2, 16, 840, 1, 101, 2, 1, 11, 41 );
|
|
my @cp_dod_medium_hw_112 = ( 2, 16, 840, 1, 101, 2, 1, 11, 42 );
|
|
my @cp_dod_medium_hw_128 = ( 2, 16, 840, 1, 101, 2, 1, 11, 43 );
|
|
my @cp_dod_medium_hw_192 = ( 2, 16, 840, 1, 101, 2, 1, 11, 44 );
|
|
my @cp_dod_admin = ( 2, 16, 840, 1, 101, 2, 1, 11, 59 );
|
|
my @cp_dod_internal_npe_112 = ( 2, 16, 840, 1, 101, 2, 1, 11, 60 );
|
|
my @cp_dod_internal_npe_128 = ( 2, 16, 840, 1, 101, 2, 1, 11, 61 );
|
|
my @cp_dod_internal_npe_192 = ( 2, 16, 840, 1, 101, 2, 1, 11, 62 );
|
|
|
|
my @cp_eca_medium = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 1 );
|
|
my @cp_eca_medium_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 2 );
|
|
my @cp_eca_medium_token = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 3);
|
|
my @cp_eca_medium_sha256 = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 4);
|
|
my @cp_eca_medium_token_sha256 = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 5);
|
|
my @cp_eca_medium_hw_pivi = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 6);
|
|
my @cp_eca_cs_pivi = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 8);
|
|
my @cp_eca_medium_dev_sha256 = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 9);
|
|
my @cp_eca_medium_hw_sha256 = ( 2, 16, 840, 1, 101, 3, 2, 1, 12, 10);
|
|
|
|
my @cp_state_basic = ( 2, 16, 840, 1, 101, 3, 2, 1, 6, 1 );
|
|
my @cp_state_low = ( 2, 16, 840, 1, 101, 3, 2, 1, 6, 2 );
|
|
my @cp_state_moderate = ( 2, 16, 840, 1, 101, 3, 2, 1, 6, 3 );
|
|
my @cp_state_high = ( 2, 16, 840, 1, 101, 3, 2, 1, 6, 4 );
|
|
my @cp_state_medhw = ( 2, 16, 840, 1, 101, 3, 2, 1, 6, 12 );
|
|
my @cp_state_meddevhw = ( 2, 16, 840, 1, 101, 3, 2, 1, 6, 38 );
|
|
|
|
my @cp_treas_mediumhw = ( 2, 16, 840, 1, 101, 3, 2, 1, 5, 4 );
|
|
my @cp_treas_high = ( 2, 16, 840, 1, 101, 3, 2, 1, 5, 5 );
|
|
my @cp_treas_pivi_hw = ( 2, 16, 840, 1, 101, 3, 2, 1, 5, 10 );
|
|
my @cp_treas_pivi_content = ( 2, 16, 840, 1, 101, 3, 2, 1, 5, 12 );
|
|
|
|
my @cp_boeing_medhw_sha256 = ( 1, 3, 6, 1, 4, 1, 73, 15, 3, 1, 12 );
|
|
my @cp_boeing_medhw_cont_sha256 = ( 1, 3, 6, 1, 4, 1, 73, 15, 3, 1, 17 );
|
|
|
|
my @cp_carillon_medhw_256 = ( 1, 3, 6, 1, 4, 1, 45606, 3, 1, 12 );
|
|
my @cp_carillon_aivhw = ( 1, 3, 6, 1, 4, 1, 45606, 3, 1, 20 );
|
|
my @cp_carillon_aivcontent = ( 1, 3, 6, 1, 4, 1, 45606, 3, 1, 22 );
|
|
|
|
my @cp_cis_medhw_256 = ( 1, 3, 6, 1, 4, 1, 25054, 3, 1, 12 );
|
|
my @cp_cis_meddevhw_256 = ( 1, 3, 6, 1, 4, 1, 25054, 3, 1, 14 );
|
|
my @cp_cis_icecap_hw = ( 1, 3, 6, 1, 4, 1, 25054, 3, 1, 20 );
|
|
my @cp_cis_icecap_cont_hw = ( 1, 3, 6, 1, 4, 1, 25054, 3, 1, 22 );
|
|
|
|
my @cp_certipath_medium = ( 1, 3, 6, 1, 4, 1, 24019, 1, 1, 1, 2 );
|
|
my @cp_certipath_highhw = ( 1, 3, 6, 1, 4, 1, 24019, 1, 1, 1, 3 );
|
|
my @cp_certipath_icecap_hw = ( 1, 3, 6, 1, 4, 1, 24019, 1, 1, 1, 7 );
|
|
my @cp_certipath_icecap_cont = ( 1, 3, 6, 1, 4, 1, 24019, 1, 1, 1, 9 );
|
|
my @cp_certipath_var_medhw = ( 1, 3, 6, 1, 4, 1, 24019, 1, 1, 1, 18 );
|
|
my @cp_certipath_var_highhw = ( 1, 3, 6, 1, 4, 1, 24019, 1, 1, 1, 19 );
|
|
|
|
my @cp_tscp_mediumhw = ( 1, 3, 6, 1, 4, 1, 38099, 1, 1, 1, 2 );
|
|
my @cp_tscp_pivi = ( 1, 3, 6, 1, 4, 1, 38099, 1, 1, 1, 5 );
|
|
my @cp_tscp_pivi_cont = ( 1, 3, 6, 1, 4, 1, 38099, 1, 1, 1, 7 );
|
|
|
|
my @cp_digicert_nfssp_medhw = ( 2, 16, 840, 1, 113733, 1, 7, 23, 3, 1, 7 );
|
|
my @cp_digicert_nfssp_auth = ( 2, 16, 840, 1, 113733, 1, 7, 23, 3, 1, 13 );
|
|
my @cp_digicert_nfssp_pivi_hw = ( 2, 16, 840, 1, 113733, 1, 7, 23, 3, 1, 18 );
|
|
my @cp_digicert_nfssp_pivi_cont = ( 2, 16, 840, 1, 113733, 1, 7, 23, 3, 1, 20 );
|
|
my @cp_digicert_nfssp_meddevhw = ( 2, 16, 840, 1, 113733, 1, 7, 23, 3, 1, 36 );
|
|
|
|
my @cp_entrust_mfssp_medhw = ( 2, 16, 840, 1, 114027, 200, 3, 10, 7, 2 );
|
|
my @cp_entrust_mfssp_medauth = ( 2, 16, 840, 1, 114027, 200, 3, 10, 7, 4 );
|
|
my @cp_entrust_mfssp_pivi_hw = ( 2, 16, 840, 1, 114027, 200, 3, 10, 7, 6 );
|
|
my @cp_entrust_mfssp_pivi_cont = ( 2, 16, 840, 1, 114027, 200, 3, 10, 7, 9 );
|
|
my @cp_entrust_mfssp_meddevhw = ( 2, 16, 840, 1, 114027, 200, 3, 10, 7, 16 );
|
|
|
|
my @cp_exostar_medhw_sha2 = ( 1, 3, 6, 1, 4, 1, 13948, 1, 1, 1, 6 );
|
|
|
|
my @cp_identrust_medhw_sign = ( 2, 16, 840, 1, 113839, 0, 100, 12, 1 );
|
|
my @cp_identrust_medhw_enc = ( 2, 16, 840, 1, 113839, 0, 100, 12, 2 );
|
|
my @cp_identrust_pivi_hw_id = ( 2, 16, 840, 1, 113839, 0, 100, 18, 0 );
|
|
my @cp_identrust_pivi_hw_sign = ( 2, 16, 840, 1, 113839, 0, 100, 18, 1 );
|
|
my @cp_identrust_pivi_hw_enc = ( 2, 16, 840, 1, 113839, 0, 100, 18, 2 );
|
|
my @cp_identrust_pivi_cont = ( 2, 16, 840, 1, 113839, 0, 100, 20, 1 );
|
|
|
|
my @cp_lockheed_medhw = ( 1, 3, 6, 1, 4, 1, 103, 100, 1, 1, 3, 3 );
|
|
|
|
my @cp_northrop_med_256_hw = ( 1, 3, 6, 1, 4, 1, 16334, 509, 2, 8 );
|
|
my @cp_northrop_pivi_256_hw = ( 1, 3, 6, 1, 4, 1, 16334, 509, 2, 9 );
|
|
my @cp_northrop_pivi_256_cont = ( 1, 3, 6, 1, 4, 1, 16334, 509, 2, 11 );
|
|
my @cp_northrop_med_384_hw = ( 1, 3, 6, 1, 4, 1, 16334, 509, 2, 14 );
|
|
|
|
my @cp_rayhtheon_medhw = ( 1, 3, 6, 1, 4, 1, 1569, 10, 1, 12 );
|
|
my @cp_rayhtheon_meddevhw = ( 1, 3, 6, 1, 4, 1, 1569, 10, 1, 18 );
|
|
my @cp_rayhtheon_sha2_medhw = ( 1, 3, 6, 1, 4, 1, 26769, 10, 1, 12 );
|
|
my @cp_rayhtheon_sha2_meddevhw = ( 1, 3, 6, 1, 4, 1, 26769, 10, 1, 18 );
|
|
|
|
my @cp_widepoint_medhw = ( 1, 3, 6, 1, 4, 1, 3922, 1, 1, 1, 12 );
|
|
my @cp_widepoint_pivi_hw = ( 1, 3, 6, 1, 4, 1, 3922, 1, 1, 1, 18 );
|
|
my @cp_widepoint_pivi_cont = ( 1, 3, 6, 1, 4, 1, 3922, 1, 1, 1, 20 );
|
|
my @cp_widepoint_meddevhw = ( 1, 3, 6, 1, 4, 1, 3922, 1, 1, 1, 38 );
|
|
|
|
my @cp_add_med = ( 1, 2, 36, 1, 334, 1, 2, 1, 2 );
|
|
my @cp_add_high = ( 1, 2, 36, 1, 334, 1, 2, 1, 3 );
|
|
my @cp_add_res_med = ( 1, 2, 36, 1, 334, 1, 2, 2, 2 );
|
|
|
|
my @cp_comodo = ( 1, 3, 6, 1, 4, 1, 6449, 1, 2, 1, 3, 4 );
|
|
|
|
my @cp_nl_mod_auth = ( 2, 16, 528, 1, 1003, 1, 2, 5, 1 );
|
|
my @cp_nl_mod_irrefut = ( 2, 16, 528, 1, 1003, 1, 2, 5, 2 );
|
|
my @cp_nl_mod_confid = ( 2, 16, 528, 1, 1003, 1, 2, 5, 3 );
|
|
|
|
my @cert_policies = (
|
|
{ name => "CP_ANY_OID", oid => \@cp_any },
|
|
{ name => "CP_ISRG_DOMAIN_VALID", oid => \@cp_isrg_domain_valid },
|
|
|
|
# Federal PKI
|
|
{ name => "CP_FPKI_HIGH_ASSURANCE_OID",
|
|
oid => \@cp_fpki_high_assurance },
|
|
{ name => "CP_FPKI_COMMON_HARDWARE_OID",
|
|
oid => \@cp_fpki_common_hw },
|
|
{ name => "CP_FPKI_MEDIUM_HARDWARE_OID",
|
|
oid => \@cp_fpki_medium_hw },
|
|
{ name => "CP_FPKI_COMMON_AUTH_OID", oid => \@cp_fpki_common_auth },
|
|
{ name => "CP_FPKI_COMMON_HIGH_OID", oid => \@cp_fpki_common_high },
|
|
{ name => "CP_FPKI_PIVI_HARDWARE_OID",
|
|
oid => \@cp_fpki_pivi_hw },
|
|
{ name => "CP_FPKI_PIVI_CONTENT_SIGNING_OID",
|
|
oid => \@cp_fpki_pivi_cs },
|
|
{ name => "CP_FPKI_COMMON_DEVICES_HARDWARE_OID",
|
|
oid => \@cp_fpki_common_dev_hw },
|
|
{ name => "CP_FPKI_MEDIUM_DEVICE_HARDWARE_OID",
|
|
oid => \@cp_fpki_medium_dev_hw },
|
|
{ name => "CP_FPKI_COMMON_PIV_CONTENT_SIGNING_OID",
|
|
oid => \@cp_fpki_common_piv_cs },
|
|
{ name => "CP_FPKI_PIV_AUTH_OID", oid => \@cp_fpki_piv_auth },
|
|
{ name => "CP_FPKI_PIV_AUTH_HW_OID", oid => \@cp_fpki_piv_auth_hw },
|
|
{ name => "CP_FPKI_PIVI_AUTH_OID", oid => \@cp_fpki_pivi_auth },
|
|
{ name => "CP_FPKI_COMMON_PIVI_CONTENT_SIGNING_OID",
|
|
oid => \@cp_fpki_common_pivi_cs },
|
|
|
|
# Federal PKI Test
|
|
{ name => "CP_FPKI_AUTH_TEST_OID", oid => \@cp_fpki_auth_test },
|
|
{ name => "CP_FPKI_CARDAUTH_TEST_OID",
|
|
oid => \@cp_fpki_cardauth_test },
|
|
{ name => "CP_FPKI_PIV_CONTENT_TEST_OID",
|
|
oid => \@cp_fpki_piv_content_test },
|
|
{ name => "CP_FPKI_PIV_AUTH_DERIVED_TEST_OID",
|
|
oid => \@cp_fpki_piv_auth_der_test },
|
|
{ name => "CP_FPKI_PIV_AUTH_DERIVED_HW_TEST_OID",
|
|
oid => \@cp_fpki_piv_auth_der_hw_test },
|
|
|
|
# DOD PKI
|
|
{ name => "CP_DOD_MEDIUM_OID", oid => \@cp_dod_medium },
|
|
{ name => "CP_DOD_MEDIUM_HARDWARE_OID",
|
|
oid => \@cp_dod_medium_hw },
|
|
{ name => "CP_DOD_PIV_AUTH_OID", oid => \@cp_dod_piv_auth },
|
|
{ name => "CP_DOD_MEDIUM_NPE_OID", oid => \@cp_dod_medium_npe },
|
|
{ name => "CP_DOD_MEDIUM_2048_OID", oid => \@cp_dod_medium_2048 },
|
|
{ name => "CP_DOD_MEDIUM_HARDWARE_2048_OID",
|
|
oid => \@cp_dod_medium_hw_2048 },
|
|
{ name => "CP_DOD_PIV_AUTH_2048_OID", oid => \@cp_dod_piv_auth_2048 },
|
|
{ name => "CP_DOD_PEER_INTEROP_OID", oid => \@cp_dod_peer_interop,
|
|
add_sum => 100000 },
|
|
{ name => "CP_DOD_MEDIUM_NPE_112_OID",
|
|
oid => \@cp_dod_medium_npe_112,
|
|
add_sum => 100000 },
|
|
{ name => "CP_DOD_MEDIUM_NPE_128_OID",
|
|
oid => \@cp_dod_medium_npe_128 },
|
|
{ name => "CP_DOD_MEDIUM_NPE_192_OID",
|
|
oid => \@cp_dod_medium_npe_192 },
|
|
{ name => "CP_DOD_MEDIUM_112_OID", oid => \@cp_dod_medium_112 },
|
|
{ name => "CP_DOD_MEDIUM_128_OID", oid => \@cp_dod_medium_128,
|
|
add_sum => 100000 },
|
|
{ name => "CP_DOD_MEDIUM_192_OID", oid => \@cp_dod_medium_192 },
|
|
{ name => "CP_DOD_MEDIUM_HARDWARE_112_OID",
|
|
oid => \@cp_dod_medium_hw_112,
|
|
add_sum => 100000 },
|
|
{ name => "CP_DOD_MEDIUM_HARDWARE_128_OID",
|
|
oid => \@cp_dod_medium_hw_128 },
|
|
{ name => "CP_DOD_MEDIUM_HARDWARE_192_OID",
|
|
oid => \@cp_dod_medium_hw_192 },
|
|
{ name => "CP_DOD_ADMIN_OID", oid => \@cp_dod_admin },
|
|
{ name => "CP_DOD_INTERNAL_NPE_112_OID",
|
|
oid => \@cp_dod_internal_npe_112 },
|
|
{ name => "CP_DOD_INTERNAL_NPE_128_OID",
|
|
oid => \@cp_dod_internal_npe_128 },
|
|
{ name => "CP_DOD_INTERNAL_NPE_192_OID",
|
|
oid => \@cp_dod_internal_npe_192 },
|
|
|
|
# ECA PKI
|
|
{ name => "CP_ECA_MEDIUM_OID", oid => \@cp_eca_medium,
|
|
add_sum => 100000 },
|
|
{ name => "CP_ECA_MEDIUM_HARDWARE_OID",
|
|
oid => \@cp_eca_medium_hw },
|
|
{ name => "CP_ECA_MEDIUM_TOKEN_OID", oid => \@cp_eca_medium_token,
|
|
add_sum => 100000 },
|
|
{ name => "CP_ECA_MEDIUM_SHA256_OID", oid => \@cp_eca_medium_sha256,
|
|
add_sum => 100000 },
|
|
{ name => "CP_ECA_MEDIUM_TOKEN_SHA256_OID",
|
|
oid => \@cp_eca_medium_token_sha256,
|
|
add_sum => 100000 },
|
|
{ name => "CP_ECA_MEDIUM_HARDWARE_PIVI_OID",
|
|
oid => \@cp_eca_medium_hw_pivi,
|
|
add_sum => 100000 },
|
|
{ name => "CP_ECA_CONTENT_SIGNING_PIVI_OID",
|
|
oid => \@cp_eca_cs_pivi,
|
|
add_sum => 100000 },
|
|
{ name => "CP_ECA_MEDIUM_DEVICE_SHA256_OID",
|
|
oid => \@cp_eca_medium_dev_sha256 },
|
|
{ name => "CP_ECA_MEDIUM_HARDWARE_SHA256_OID",
|
|
oid => \@cp_eca_medium_hw_sha256 },
|
|
|
|
# Department of State PKI
|
|
{ name => "CP_STATE_BASIC_OID", oid => \@cp_state_basic,
|
|
add_sum => 100000 },
|
|
{ name => "CP_STATE_LOW_OID", oid => \@cp_state_low },
|
|
{ name => "CP_STATE_MODERATE_OID", oid => \@cp_state_moderate ,
|
|
add_sum => 100000 },
|
|
{ name => "CP_STATE_HIGH_OID", oid => \@cp_state_high,
|
|
add_sum => 100000 },
|
|
{ name => "CP_STATE_MEDHW_OID", oid => \@cp_state_medhw,
|
|
add_sum => 101000 },
|
|
{ name => "CP_STATE_MEDDEVHW_OID", oid => \@cp_state_meddevhw,
|
|
add_sum => 101000 },
|
|
|
|
# U.S. Treasury SSP PKI
|
|
{ name => "CP_TREAS_MEDIUMHW_OID", oid => \@cp_treas_mediumhw },
|
|
{ name => "CP_TREAS_HIGH_OID", oid => \@cp_treas_high,
|
|
add_sum => 101000 },
|
|
{ name => "CP_TREAS_PIVI_HW_OID", oid => \@cp_treas_pivi_hw,
|
|
add_sum => 101000 },
|
|
{ name => "CP_TREAS_PIVI_CONTENT_OID",
|
|
oid => \@cp_treas_pivi_content,
|
|
add_sum => 101000 },
|
|
|
|
# Boeing PKI
|
|
{ name => "CP_BOEING_MEDIUMHW_SHA256_OID",
|
|
oid => \@cp_boeing_medhw_sha256 },
|
|
{ name => "CP_BOEING_MEDIUMHW_CONTENT_SHA256_OID",
|
|
oid => \@cp_boeing_medhw_cont_sha256},
|
|
|
|
# Carillon Federal Services
|
|
{ name => "CP_CARILLON_MEDIUMHW_256_OID",
|
|
oid => \@cp_carillon_medhw_256 },
|
|
{ name => "CP_CARILLON_AIVHW_OID", oid => \@cp_carillon_aivhw },
|
|
{ name => "CP_CARILLON_AIVCONTENT_OID",
|
|
oid => \@cp_carillon_aivcontent,
|
|
add_sum => 100000 },
|
|
|
|
# Carillon Information Security
|
|
{ name => "CP_CIS_MEDIUMHW_256_OID", oid => \@cp_cis_medhw_256 },
|
|
{ name => "CP_CIS_MEDDEVHW_256_OID", oid => \@cp_cis_meddevhw_256 },
|
|
{ name => "CP_CIS_ICECAP_HW_OID", oid => \@cp_cis_icecap_hw },
|
|
{ name => "CP_CIS_ICECAP_CONTENT_OID",
|
|
oid => \@cp_cis_icecap_cont_hw },
|
|
|
|
# CertiPath Bridge
|
|
{ name => "CP_CERTIPATH_MEDIUMHW_OID",
|
|
oid => \@cp_certipath_medium,
|
|
add_sum => 100000 },
|
|
{ name => "CP_CERTIPATH_HIGHHW_OID",
|
|
oid => \@cp_certipath_highhw,
|
|
add_sum => 101000 },
|
|
{ name => "CP_CERTIPATH_ICECAP_HW_OID",
|
|
oid => \@cp_certipath_icecap_hw },
|
|
{ name => "CP_CERTIPATH_ICECAP_CONTENT_OID",
|
|
oid => \@cp_certipath_icecap_cont },
|
|
{ name => "CP_CERTIPATH_VAR_MEDIUMHW_OID",
|
|
oid => \@cp_certipath_var_medhw,
|
|
add_sum => 100000 },
|
|
{ name => "CP_CERTIPATH_VAR_HIGHHW_OID",
|
|
oid => \@cp_certipath_var_highhw },
|
|
|
|
# TSCP Bridge
|
|
{ name => "CP_TSCP_MEDIUMHW_OID", oid => \@cp_tscp_mediumhw },
|
|
{ name => "CP_TSCP_PIVI_OID", oid => \@cp_tscp_pivi },
|
|
{ name => "CP_TSCP_PIVI_CONTENT_OID", oid => \@cp_tscp_pivi_cont },
|
|
|
|
# DigiCert NFI
|
|
{ name => "CP_DIGICERT_NFSSP_MEDIUMHW_OID",
|
|
oid => \@cp_digicert_nfssp_medhw },
|
|
{ name => "CP_DIGICERT_NFSSP_AUTH_OID",
|
|
oid => \@cp_digicert_nfssp_auth },
|
|
{ name => "CP_DIGICERT_NFSSP_PIVI_HW_OID",
|
|
oid => \@cp_digicert_nfssp_pivi_hw },
|
|
{ name => "CP_DIGICERT_NFSSP_PIVI_CONTENT_OID",
|
|
oid => \@cp_digicert_nfssp_pivi_cont},
|
|
{ name => "CP_DIGICERT_NFSSP_MEDDEVHW_OID",
|
|
oid => \@cp_digicert_nfssp_meddevhw },
|
|
|
|
# Entrust Managed Services NFI
|
|
{ name => "CP_ENTRUST_NFSSP_MEDIUMHW_OID",
|
|
oid => \@cp_entrust_mfssp_medhw },
|
|
{ name => "CP_ENTRUST_NFSSP_MEDAUTH_OID",
|
|
oid => \@cp_entrust_mfssp_medauth },
|
|
{ name => "CP_ENTRUST_NFSSP_PIVI_HW_OID",
|
|
oid => \@cp_entrust_mfssp_pivi_hw },
|
|
{ name => "CP_ENTRUST_NFSSP_PIVI_CONTENT_OID",
|
|
oid => \@cp_entrust_mfssp_pivi_cont },
|
|
{ name => "CP_ENTRUST_NFSSP_MEDDEVHW_OID",
|
|
oid => \@cp_entrust_mfssp_meddevhw },
|
|
|
|
# Exostar LLC
|
|
{ name => "CP_EXOSTAR_MEDIUMHW_SHA2_OID",
|
|
oid => \@cp_exostar_medhw_sha2,
|
|
add_sum => 100000 },
|
|
|
|
# IdenTrust NFI
|
|
{ name => "CP_IDENTRUST_MEDIUMHW_SIGN_OID",
|
|
oid => \@cp_identrust_medhw_sign },
|
|
{ name => "CP_IDENTRUST_MEDIUMHW_ENC_OID",
|
|
oid => \@cp_identrust_medhw_enc },
|
|
{ name => "CP_IDENTRUST_PIVI_HW_ID_OID",
|
|
oid => \@cp_identrust_pivi_hw_id },
|
|
{ name => "CP_IDENTRUST_PIVI_HW_SIGN_OID",
|
|
oid => \@cp_identrust_pivi_hw_sign },
|
|
{ name => "CP_IDENTRUST_PIVI_HW_ENC_OID",
|
|
oid => \@cp_identrust_pivi_hw_enc },
|
|
{ name => "CP_IDENTRUST_PIVI_CONTENT_OID",
|
|
oid => \@cp_identrust_pivi_cont },
|
|
|
|
# Lockheed Martin
|
|
{ name => "CP_LOCKHEED_MEDIUMHW_OID", oid => \@cp_lockheed_medhw },
|
|
|
|
# Northrop Grumman
|
|
{ name => "CP_NORTHROP_MEDIUM_256_HW_OID",
|
|
oid => \@cp_northrop_med_256_hw },
|
|
{ name => "CP_NORTHROP_PIVI_256_HW_OID",
|
|
oid => \@cp_northrop_pivi_256_hw },
|
|
{ name => "CP_NORTHROP_PIVI_256_CONTENT_OID",
|
|
oid => \@cp_northrop_pivi_256_cont },
|
|
{ name => "CP_NORTHROP_MEDIUM_384_HW_OID",
|
|
oid => \@cp_northrop_med_384_hw },
|
|
|
|
# Raytheon PKI
|
|
{ name => "CP_RAYTHEON_MEDIUMHW_OID", oid => \@cp_rayhtheon_medhw },
|
|
{ name => "CP_RAYTHEON_MEDDEVHW_OID", oid => \@cp_rayhtheon_meddevhw },
|
|
{ name => "CP_RAYTHEON_SHA2_MEDIUMHW_OID",
|
|
oid => \@cp_rayhtheon_sha2_medhw },
|
|
{ name => "CP_RAYTHEON_SHA2_MEDDEVHW_OID",
|
|
oid => \@cp_rayhtheon_sha2_meddevhw },
|
|
|
|
# WidePoint NFI
|
|
{ name => "CP_WIDEPOINT_MEDIUMHW_OID",
|
|
oid => \@cp_widepoint_medhw },
|
|
{ name => "CP_WIDEPOINT_PIVI_HW_OID", oid => \@cp_widepoint_pivi_hw },
|
|
{ name => "CP_WIDEPOINT_PIVI_CONTENT_OID",
|
|
oid => \@cp_widepoint_pivi_cont },
|
|
{ name => "CP_WIDEPOINT_MEDDEVHW_OID",
|
|
oid => \@cp_widepoint_meddevhw },
|
|
|
|
# Australian Defence Organisation
|
|
{ name => "CP_ADO_MEDIUM_OID", oid => \@cp_add_med },
|
|
{ name => "CP_ADO_HIGH_OID", oid => \@cp_add_high },
|
|
{ name => "CP_ADO_RESOURCE_MEDIUM_OID",
|
|
oid => \@cp_add_res_med,
|
|
add_sum => 100000 },
|
|
# Comodo Ltd PKI
|
|
{ name => "CP_COMODO_OID", oid => \@cp_comodo,
|
|
add_sum => 100000 },
|
|
|
|
# Netherlands Ministry of Defence
|
|
{ name => "CP_NL_MOD_AUTH_OID", oid => \@cp_nl_mod_auth },
|
|
{ name => "CP_NL_MOD_IRREFUT_OID", oid => \@cp_nl_mod_irrefut,
|
|
add_sum => 100000 },
|
|
{ name => "CP_NL_MOD_CONFID_OID", oid => \@cp_nl_mod_confid },
|
|
);
|
|
|
|
print_enum("CertificatePolicy_Sum", "", \@cert_policies, 45, 0);
|
|
|
|
|
|
my @sep_hw_name = ( 1, 3, 6, 1, 5, 5, 7, 8, 4 );
|
|
|
|
my @seps = (
|
|
{ name => "HW_NAME", oid => \@sep_hw_name },
|
|
);
|
|
|
|
print_sum_enum("SepHardwareName", "_OID", \@seps);
|
|
|
|
|
|
my @aia_ocsp = ( 1, 3, 6, 1, 5, 5, 7, 48, 1 );
|
|
my @aia_ca_issuer = ( 1, 3, 6, 1, 5, 5, 7, 48, 2 );
|
|
my @aia_ca_repo = ( 1, 3, 6, 1, 5, 5, 7, 48, 5 );
|
|
|
|
my @aias = (
|
|
{ name => "AIA_OCSP", oid => \@aia_ocsp },
|
|
{ name => "AIA_CA_ISSUER", oid => \@aia_ca_issuer },
|
|
{ name => "AIA_CA_REPO", oid => \@aia_ca_repo },
|
|
);
|
|
|
|
print_sum_enum("AuthInfo", "_OID", \@aias);
|
|
|
|
|
|
my @eku_any = ( 2, 5, 29, 37, 0 );
|
|
my @eku_server_auth = ( 1, 3, 6, 1, 5, 5, 7, 3, 1 );
|
|
my @eku_client_auth = ( 1, 3, 6, 1, 5, 5, 7, 3, 2 );
|
|
my @eku_codesigning = ( 1, 3, 6, 1, 5, 5, 7, 3, 3 );
|
|
my @eku_emailprotect = ( 1, 3, 6, 1, 5, 5, 7, 3, 4 );
|
|
my @eku_timestamp = ( 1, 3, 6, 1, 5, 5, 7, 3, 8 );
|
|
my @eku_ocsp_sign = ( 1, 3, 6, 1, 5, 5, 7, 3, 9 );
|
|
my @eku_ssh_client_auth = ( 1, 3, 6, 1, 5, 5, 7, 3, 21 );
|
|
my @eku_ssh_mscl = ( 1, 3, 6, 1, 4, 1, 311, 20, 2, 2 );
|
|
my @eku_ssh_kp_client_auth = ( 1, 3, 6, 1, 5, 2, 3, 4 );
|
|
|
|
my @ekus = (
|
|
{ name => "EKU_ANY", oid => \@eku_any },
|
|
{ name => "EKU_SERVER_AUTH", oid => \@eku_server_auth },
|
|
{ name => "EKU_CLIENT_AUTH", oid => \@eku_client_auth },
|
|
{ name => "EKU_CODESIGNING", oid => \@eku_codesigning },
|
|
{ name => "EKU_EMAILPROTECT", oid => \@eku_emailprotect },
|
|
{ name => "EKU_TIMESTAMP", oid => \@eku_timestamp },
|
|
{ name => "EKU_OCSP_SIGN", oid => \@eku_ocsp_sign },
|
|
{ name => "EKU_SSH_CLIENT_AUTH", oid => \@eku_ssh_client_auth },
|
|
{ name => "EKU_SSH_MSCL", oid => \@eku_ssh_mscl },
|
|
{ name => "EKU_SSH_KP_CLIENT_AUTH", oid => \@eku_ssh_kp_client_auth },
|
|
);
|
|
|
|
print_sum_enum("ExtKeyUsage", "_OID", \@ekus);
|
|
|
|
|
|
my @sda_dob = ( 1, 3, 6, 1, 5, 5, 7, 9, 1 );
|
|
my @sda_pob = ( 1, 3, 6, 1, 5, 5, 7, 9, 2 );
|
|
my @sda_gender = ( 1, 3, 6, 1, 5, 5, 7, 9, 3 );
|
|
my @sda_coc = ( 1, 3, 6, 1, 5, 5, 7, 9, 4 );
|
|
my @sda_cor = ( 1, 3, 6, 1, 5, 5, 7, 9, 5 );
|
|
|
|
my @sdas = (
|
|
{ name => "SDA_DOB", oid => \@sda_dob },
|
|
{ name => "SDA_POB", oid => \@sda_pob },
|
|
{ name => "SDA_GENDER", oid => \@sda_gender },
|
|
{ name => "SDA_COC", oid => \@sda_coc },
|
|
{ name => "SDA_COR", oid => \@sda_cor },
|
|
);
|
|
|
|
print_sum_enum("SubjDirAttr", "_OID", \@sdas);
|
|
|
|
|
|
my @zlib = ( 1, 2, 840, 113549, 1, 9, 16, 3, 8 );
|
|
|
|
my @compressions = (
|
|
{ name => "ZLIB", oid => \@zlib },
|
|
);
|
|
|
|
print_sum_enum("CompressAlg", "c", \@compressions);
|
|
|
|
|
|
my @csr_unstructure_name = ( 1, 2, 840, 113549, 1, 9, 2 );
|
|
my @csr_pkcs9_content_type = ( 1, 2, 840, 113549, 1, 9, 3 );
|
|
my @csr_challenge_password = ( 1, 2, 840, 113549, 1, 9, 7 );
|
|
my @csr_serial_number = ( 2, 5, 4, 5 );
|
|
my @csr_ext_request = ( 1, 2, 840, 113549, 1, 9, 14 );
|
|
my @csr_user_id = ( 0, 9, 2342, 19200300, 100, 1, 1 );
|
|
my @csr_dnqualifier = ( 2, 5, 4, 46 );
|
|
my @csr_initials = ( 2, 5, 4, 43 );
|
|
my @csr_surname = ( 2, 5, 4, 4 );
|
|
my @csr_name = ( 2, 5, 4, 41 );
|
|
my @csr_given_name = ( 2, 5, 4, 42 );
|
|
|
|
my @csr_attr_types = (
|
|
{ name => "UNSTRUCTURED_NAME", oid => \@csr_unstructure_name },
|
|
{ name => "PKCS9_CONTENT_TYPE", oid => \@csr_pkcs9_content_type },
|
|
{ name => "CHALLENGE_PASSWORD", oid => \@csr_challenge_password },
|
|
{ name => "SERIAL_NUMBER", oid => \@csr_serial_number },
|
|
{ name => "EXTENSION_REQUEST", oid => \@csr_ext_request },
|
|
{ name => "USER_ID", oid => \@csr_user_id },
|
|
{ name => "DNQUALIFIER", oid => \@csr_dnqualifier },
|
|
{ name => "INITIALS", oid => \@csr_initials },
|
|
{ name => "SURNAME", oid => \@csr_surname },
|
|
{ name => "NAME", oid => \@csr_name },
|
|
{ name => "GIVEN_NAME", oid => \@csr_given_name },
|
|
);
|
|
|
|
print_enum("CsrAttrType", "_OID", \@csr_attr_types, 32, 48);
|
|
|
|
|
|
my @ocsp_basic = ( 1, 3, 6, 1, 5, 5, 7, 48, 1, 1 );
|
|
my @ocsp_nonce = ( 1, 3, 6, 1, 5, 5, 7, 48, 1, 2 );
|
|
|
|
my @ocsp = (
|
|
{ name => "OCSP_BASIC", oid => \@ocsp_basic },
|
|
{ name => "OCSP_NONCE", oid => \@ocsp_nonce },
|
|
);
|
|
|
|
print_sum_enum("Ocsp", "_OID", \@ocsp);
|
|
|
|
|
|
my @ecc_secp112r1 = ( 1, 3, 132, 0, 6 );
|
|
my @ecc_secp112r2 = ( 1, 3, 132, 0, 7 );
|
|
my @ecc_secp128r1 = ( 1, 3, 132, 0, 28 );
|
|
my @ecc_secp128r2 = ( 1, 3, 132, 0, 29 );
|
|
my @ecc_secp160r1 = ( 1, 3, 132, 0, 8 );
|
|
my @ecc_secp160r2 = ( 1, 3, 132, 0, 30 );
|
|
my @ecc_secp160k1 = ( 1, 3, 132, 0, 9 );
|
|
my @ecc_brainpool160r1 = ( 1, 3, 36, 3, 3, 2, 8, 1, 1, 1 );
|
|
my @ecc_secp192r1 = ( 1, 2, 840, 10045, 3, 1, 1 );
|
|
my @ecc_prime192v2 = ( 1, 2, 840, 10045, 3, 1, 2 );
|
|
my @ecc_prime192v3 = ( 1, 2, 840, 10045, 3, 1, 3 );
|
|
my @ecc_secp192k1 = ( 1, 3, 132, 0, 31 );
|
|
my @ecc_brainpool192r1 = ( 1, 3, 36, 3, 3, 2, 8, 1, 1, 3 );
|
|
my @ecc_secp224r1 = ( 1, 3, 132, 0, 33 );
|
|
my @ecc_secp224k1 = ( 1, 3, 132, 0, 32 );
|
|
my @ecc_brainpool224r1 = ( 1, 3, 36, 3, 3, 2, 8, 1, 1, 5 );
|
|
my @ecc_prime239v1 = ( 1, 2, 840, 10045, 3, 1, 4 );
|
|
my @ecc_prime239v2 = ( 1, 2, 840, 10045, 3, 1, 5 );
|
|
my @ecc_prime239v3 = ( 1, 2, 840, 10045, 3, 1, 6 );
|
|
my @ecc_secp256r1 = ( 1, 2, 840, 10045, 3, 1, 7 );
|
|
my @ecc_secp256k1 = ( 1, 3, 132, 0, 10 );
|
|
my @ecc_brainpool256r1 = ( 1, 3, 36, 3, 3, 2, 8, 1, 1, 7 );
|
|
my @ecc_brainpool320r1 = ( 1, 3, 36, 3, 3, 2, 8, 1, 1, 9 );
|
|
my @ecc_secp384r1 = ( 1, 3, 132, 0, 34 );
|
|
my @ecc_brainpool384r1 = ( 1, 3, 36, 3, 3, 2, 8, 1, 1, 11 );
|
|
my @ecc_brainpool512r1 = ( 1, 3, 36, 3, 3, 2, 8, 1, 1, 13 );
|
|
my @ecc_secp521r1 = ( 1, 3, 132, 0, 35 );
|
|
|
|
my @eccs = (
|
|
{ name => "ECC_SECP112R1", oid => \@ecc_secp112r1 },
|
|
{ name => "ECC_SECP112R2", oid => \@ecc_secp112r2 },
|
|
{ name => "ECC_SECP128R1", oid => \@ecc_secp128r1 },
|
|
{ name => "ECC_SECP128R2", oid => \@ecc_secp128r2 },
|
|
{ name => "ECC_SECP160R1", oid => \@ecc_secp160r1 },
|
|
{ name => "ECC_SECP160R2", oid => \@ecc_secp160r2 },
|
|
{ name => "ECC_SECP160K1", oid => \@ecc_secp160k1 },
|
|
{ name => "ECC_BRAINPOOLP160R1", oid => \@ecc_brainpool160r1 },
|
|
{ name => "ECC_SECP192R1", oid => \@ecc_secp192r1 },
|
|
{ name => "ECC_PRIME192V2", oid => \@ecc_prime192v2 },
|
|
{ name => "ECC_PRIME192V3", oid => \@ecc_prime192v3 },
|
|
{ name => "ECC_SECP192K1", oid => \@ecc_secp192k1 },
|
|
{ name => "ECC_BRAINPOOLP192R1", oid => \@ecc_brainpool192r1 },
|
|
{ name => "ECC_SECP224R1", oid => \@ecc_secp224r1 },
|
|
{ name => "ECC_SECP224K1", oid => \@ecc_secp224k1 },
|
|
{ name => "ECC_BRAINPOOLP224R1", oid => \@ecc_brainpool224r1 },
|
|
{ name => "ECC_PRIME239V1", oid => \@ecc_prime239v1 },
|
|
{ name => "ECC_PRIME239V2", oid => \@ecc_prime239v2 },
|
|
{ name => "ECC_PRIME239V3", oid => \@ecc_prime239v3 },
|
|
{ name => "ECC_SECP256R1", oid => \@ecc_secp256r1 },
|
|
{ name => "ECC_SECP256K1", oid => \@ecc_secp256k1 },
|
|
{ name => "ECC_BRAINPOOLP256R1", oid => \@ecc_brainpool256r1 },
|
|
{ name => "ECC_SM2P256V1", oid => \@sm2,
|
|
same => 1 },
|
|
{ name => "ECC_X25519", oid => \@x25519,
|
|
same => 1 },
|
|
{ name => "ECC_ED25519", oid => \@ed25519,
|
|
same => 1 },
|
|
{ name => "ECC_BRAINPOOLP320R1", oid => \@ecc_brainpool320r1 },
|
|
{ name => "ECC_X448", oid => \@x448,
|
|
same => 1 },
|
|
{ name => "ECC_ED448", oid => \@ed448,
|
|
same => 1 },
|
|
{ name => "ECC_SECP384R1", oid => \@ecc_secp384r1 },
|
|
{ name => "ECC_BRAINPOOLP384R1", oid => \@ecc_brainpool384r1 },
|
|
{ name => "ECC_BRAINPOOLP512R1", oid => \@ecc_brainpool512r1 },
|
|
{ name => "ECC_SECP521R1", oid => \@ecc_secp521r1 },
|
|
);
|
|
|
|
print_sum_enum("Ecc", "_OID", \@eccs);
|
|
|
|
|
|
my @ctc_sha_dsa = ( 1, 2, 840, 10040, 4, 3 );
|
|
my @ctc_sha256_dsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 2 );
|
|
my @ctc_md2_rsa = ( 1, 2, 840, 113549, 1, 1, 2 );
|
|
my @ctc_md5_rsa = ( 1, 2, 840, 113549, 1, 1, 4 );
|
|
my @ctc_sha1_rsa = ( 1, 2, 840, 113549, 1, 1, 5 );
|
|
my @ctc_sha1_ecdsa = ( 1, 2, 840, 10045, 4, 1 );
|
|
my @ctc_sha224_rsa = ( 1, 2, 840, 113549, 1, 1, 14 );
|
|
my @ctc_sha224_ecdsa = ( 1, 2, 840, 10045, 4, 3, 1 );
|
|
my @ctc_sha256_rsa = ( 1, 2, 840, 113549, 1, 1, 11 );
|
|
my @ctc_sha256_ecdsa = ( 1, 2, 840, 10045, 4, 3, 2 );
|
|
my @ctc_sha384_rsa = ( 1, 2, 840, 113549, 1, 1, 12 );
|
|
my @ctc_sha384_ecdsa = ( 1, 2, 840, 10045, 4, 3, 3 );
|
|
my @ctc_sha512_rsa = ( 1, 2, 840, 113549, 1, 1, 13 );
|
|
my @ctc_sha512_ecdsa = ( 1, 2, 840, 10045, 4, 3, 4 );
|
|
my @ctc_sha3_224_ecdsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 9 );
|
|
my @ctc_sha3_256_ecdsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 10 );
|
|
my @ctc_sha3_384_ecdsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 11 );
|
|
my @ctc_sha3_512_ecdsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 12 );
|
|
my @ctc_sha3_224_rsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 13 );
|
|
my @ctc_sha3_256_rsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 14 );
|
|
my @ctc_sha3_384_rsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 15 );
|
|
my @ctc_sha3_512_rsa = ( 2, 16, 840, 1, 101, 3, 4, 3, 16 );
|
|
my @ctc_rsassapss = ( 1, 2, 840, 113549, 1, 1, 10 );
|
|
my @ctc_sm3_sm2 = ( 1, 2, 156, 10197, 1, 501 );
|
|
|
|
my @sig_types = (
|
|
{ name => "CTC_SHAwDSA", oid => \@ctc_sha_dsa },
|
|
{ name => "CTC_SHA256wDSA", oid => \@ctc_sha256_dsa },
|
|
{ name => "CTC_MD2wRSA", oid => \@ctc_md2_rsa },
|
|
{ name => "CTC_MD5wRSA", oid => \@ctc_md5_rsa },
|
|
{ name => "CTC_SHAwRSA", oid => \@ctc_sha1_rsa },
|
|
{ name => "CTC_SHAwECDSA", oid => \@ctc_sha1_ecdsa },
|
|
{ name => "CTC_SHA224wRSA", oid => \@ctc_sha224_rsa },
|
|
{ name => "CTC_SHA224wECDSA", oid => \@ctc_sha224_ecdsa },
|
|
{ name => "CTC_SHA256wRSA", oid => \@ctc_sha256_rsa },
|
|
{ name => "CTC_SHA256wECDSA", oid => \@ctc_sha256_ecdsa },
|
|
{ name => "CTC_SHA384wRSA", oid => \@ctc_sha384_rsa },
|
|
{ name => "CTC_SHA384wECDSA", oid => \@ctc_sha384_ecdsa },
|
|
{ name => "CTC_SHA512wRSA", oid => \@ctc_sha512_rsa },
|
|
{ name => "CTC_SHA512wECDSA", oid => \@ctc_sha512_ecdsa },
|
|
{ name => "CTC_SHA3_224wECDSA", oid => \@ctc_sha3_224_ecdsa },
|
|
{ name => "CTC_SHA3_256wECDSA", oid => \@ctc_sha3_256_ecdsa },
|
|
{ name => "CTC_SHA3_384wECDSA", oid => \@ctc_sha3_384_ecdsa },
|
|
{ name => "CTC_SHA3_512wECDSA", oid => \@ctc_sha3_512_ecdsa },
|
|
{ name => "CTC_SHA3_224wRSA", oid => \@ctc_sha3_224_rsa },
|
|
{ name => "CTC_SHA3_256wRSA", oid => \@ctc_sha3_256_rsa },
|
|
{ name => "CTC_SHA3_384wRSA", oid => \@ctc_sha3_384_rsa },
|
|
{ name => "CTC_SHA3_512wRSA", oid => \@ctc_sha3_512_rsa },
|
|
{ name => "CTC_RSASSAPSS", oid => \@rsa_pss,
|
|
same => 1 },
|
|
{ name => "CTC_SM3wSM2", oid => \@ctc_sm3_sm2 },
|
|
{ name => "CTC_ED25519", oid => \@ed25519,
|
|
same => 1 },
|
|
{ name => "CTC_ED448", oid => \@ed448,
|
|
same => 1 },
|
|
{ name => "CTC_FALCON_LEVEL1", oid => \@falcon_1,
|
|
same => 1 },
|
|
{ name => "CTC_FALCON_LEVEL5", oid => \@falcon_5,
|
|
same => 1 },
|
|
{ name => "CTC_DILITHIUM_LEVEL2", oid => \@dilithium_2,
|
|
same => 1 },
|
|
{ name => "CTC_DILITHIUM_LEVEL3", oid => \@dilithium_3,
|
|
same => 1 },
|
|
{ name => "CTC_DILITHIUM_LEVEL5", oid => \@dilithium_5,
|
|
same => 1 },
|
|
{ name => "CTC_ML_DSA_LEVEL2", oid => \@mldsa_2,
|
|
same => 1 },
|
|
{ name => "CTC_ML_DSA_LEVEL3", oid => \@mldsa_3,
|
|
same => 1 },
|
|
{ name => "CTC_ML_DSA_LEVEL5", oid => \@mldsa_5,
|
|
same => 1 },
|
|
{ name => "CTC_SPHINCS_FAST_LEVEL1", oid => \@sphincs_fast_1,
|
|
same => 1 },
|
|
{ name => "CTC_SPHINCS_FAST_LEVEL3", oid => \@sphincs_fast_3,
|
|
same => 1, oid_sum => 283 },
|
|
{ name => "CTC_SPHINCS_FAST_LEVEL5", oid => \@sphincs_fast_5,
|
|
same => 1 },
|
|
{ name => "CTC_SPHINCS_SMALL_LEVEL1", oid => \@sphincs_small_1,
|
|
same => 1 },
|
|
{ name => "CTC_SPHINCS_SMALL_LEVEL3", oid => \@sphincs_small_3,
|
|
same => 1 },
|
|
{ name => "CTC_SPHINCS_SMALL_LEVEL5", oid => \@sphincs_small_5,
|
|
same => 1 },
|
|
);
|
|
|
|
print_enum("Ctc_SigType", "", \@sig_types, 32, 48);
|
|
|
|
|
|
my @p7t_pkcs7_msg = ( 1, 2, 840, 113549, 1, 7 );
|
|
my @p7t_data = ( 1, 2, 840, 113549, 1, 7, 1 );
|
|
my @p7t_signed_data = ( 1, 2, 840, 113549, 1, 7, 2 );
|
|
my @p7t_env_data = ( 1, 2, 840, 113549, 1, 7, 3 );
|
|
my @p7t_sign_env_data = ( 1, 2, 840, 113549, 1, 7, 4 );
|
|
my @p7t_digested_data = ( 1, 2, 840, 113549, 1, 7, 5 );
|
|
my @p7t_encrypted_data = ( 1, 2, 840, 113549, 1, 7, 6 );
|
|
my @p7t_compressed_data = ( 1, 2, 840, 113549, 1, 9, 16, 1, 9 );
|
|
my @p7t_firmware_pkg_data = ( 1, 2, 840, 113549, 1, 9, 16, 1, 16 );
|
|
my @p7t_auth_env_data = ( 1, 2, 840, 113549, 1, 9, 16, 1, 23 );
|
|
|
|
my @pkcs7_types = (
|
|
{ name => "PKCS7_MSG", oid => \@p7t_pkcs7_msg },
|
|
{ name => "DATA", oid => \@p7t_data },
|
|
{ name => "SIGNED_DATA", oid => \@p7t_signed_data },
|
|
{ name => "ENVELOPED_DATA", oid => \@p7t_env_data },
|
|
{ name => "SIGNED_AND_ENVELOPED_DATA", oid => \@p7t_sign_env_data },
|
|
{ name => "DIGESTED_DATA", oid => \@p7t_digested_data },
|
|
{ name => "COMPRESSED_DATA", oid => \@p7t_compressed_data },
|
|
{ name => "ENCRYPTED_DATA", oid => \@p7t_encrypted_data },
|
|
{ name => "FIRMWARE_PKG_DATA", oid => \@p7t_firmware_pkg_data },
|
|
{ name => "AUTH_ENVELOPED_DATA", oid => \@p7t_auth_env_data },
|
|
);
|
|
|
|
print_enum("PKCS7_TYPES", "", \@pkcs7_types, 32, 46);
|
|
|
|
|
|
my @p12_key_bag = ( 1, 2, 840, 113549, 1, 12, 10, 1, 1 );
|
|
my @p12_shrouded_bag = ( 1, 2, 840, 113549, 1, 12, 10, 1, 2 );
|
|
my @p12_cert_bag = ( 1, 2, 840, 113549, 1, 12, 10, 1, 3 );
|
|
my @p12_cert_bag_type1 = ( 1, 2, 840, 113549, 1, 9, 22, 1 );
|
|
my @p12_crl_bag = ( 1, 2, 840, 113549, 1, 12, 10, 1, 4 );
|
|
my @p12_secret_bag = ( 1, 2, 840, 113549, 1, 12, 10, 1, 5 );
|
|
my @p12_safe_contents_bag = ( 1, 2, 840, 113549, 1, 12, 10, 1, 6 );
|
|
|
|
my @pkcs12_types = (
|
|
{ name => "WC_PKCS12_KeyBag", oid => \@p12_key_bag },
|
|
{ name => "WC_PKCS12_ShroudedKeyBag", oid => \@p12_shrouded_bag },
|
|
{ name => "WC_PKCS12_CertBag", oid => \@p12_cert_bag },
|
|
{ name => "WC_PKCS12_CertBag_Type1", oid => \@p12_cert_bag_type1 },
|
|
{ name => "WC_PKCS12_CrlBag", oid => \@p12_crl_bag },
|
|
{ name => "WC_PKCS12_SecretBag", oid => \@p12_secret_bag },
|
|
{ name => "WC_PKCS12_SafeContentsBag", oid => \@p12_safe_contents_bag },
|
|
{ name => "WC_PKCS12_DATA", oid => \@p7t_data,
|
|
same => 1 },
|
|
{ name => "WC_PKCS12_ENCRYPTED_DATA", oid => \@p7t_encrypted_data,
|
|
same => 1 },
|
|
);
|
|
|
|
print_enum("PKCS12_TYPES", "", \@pkcs12_types, 32, 46);
|
|
|
|
|
|
my @name_common = ( 2, 5, 4, 3 );
|
|
my @name_serial_number = ( 2, 5, 4, 5 );
|
|
my @name_country = ( 2, 5, 4, 6 );
|
|
my @name_locality = ( 2, 5, 4, 7 );
|
|
my @name_state_prov = ( 2, 5, 4, 8 );
|
|
my @name_street = ( 2, 5, 4, 9 );
|
|
my @name_organization = ( 2, 5, 4, 10 );
|
|
my @name_org_unit = ( 2, 5, 4, 11 );
|
|
my @name_title = ( 2, 5, 4, 9, 12 );
|
|
my @name_description = ( 2, 5, 4, 13 );
|
|
my @name_business_cat = ( 2, 5, 4, 15 );
|
|
my @name_postal_code = ( 2, 5, 4, 17 );
|
|
my @name_pkcs9_email = ( 1, 2, 840, 113549, 1, 9, 1 );;
|
|
my @name_rfc822_mailbox = ( 0, 9, 2342, 19200300, 100, 1, 3 );
|
|
my @name_fav_drink = ( 0, 9, 2342, 19200300, 100, 1, 5 );
|
|
my @name_domain_component = ( 0, 9, 2342, 19200300, 100, 1, 25 );
|
|
my @name_juris_state_prov = ( 1, 3, 6, 1, 4, 1, 311, 60, 2, 1, 2 );
|
|
my @name_juris_country = ( 1, 3, 6, 1, 4, 1, 311, 60, 2, 1, 3 );
|
|
|
|
my @cert_names = (
|
|
{ name => "WC_NAME_COMMON_NAME", oid => \@name_common },
|
|
{ name => "WC_NAME_SURNAME", oid => \@csr_surname,
|
|
same => 1 },
|
|
{ name => "WC_NAME_SERIAL_NUMBER", oid => \@csr_serial_number,
|
|
same => 1 },
|
|
{ name => "WC_NAME_COUNTRY_NAME", oid => \@name_country },
|
|
{ name => "WC_NAME_LOCALITY_NAME", oid => \@name_locality },
|
|
{ name => "WC_NAME_STATE_NAME", oid => \@name_state_prov },
|
|
{ name => "WC_NAME_STREET_ADDRESS", oid => \@name_street },
|
|
{ name => "WC_NAME_ORGANIZATION_NAME", oid => \@name_organization },
|
|
{ name => "WC_NAME_ORGANIZATION_UNIT_NAME",
|
|
oid => \@name_org_unit },
|
|
{ name => "WC_NAME_TITLE", oid => \@name_title },
|
|
{ name => "WC_NAME_DESCRIPTION", oid => \@name_description },
|
|
{ name => "WC_NAME_BUSINESS_CATEGORY", oid => \@name_business_cat },
|
|
{ name => "WC_NAME_POSTAL_CODE", oid => \@name_postal_code },
|
|
{ name => "WC_NAME_NAME", oid => \@csr_name,
|
|
same => 1 },
|
|
{ name => "WC_NAME_GIVEN_NAME", oid => \@csr_given_name,
|
|
same => 1 },
|
|
{ name => "WC_NAME_INITIALIS", oid => \@csr_initials,
|
|
same => 1 },
|
|
{ name => "WC_NAME_EMAIL_ADDRESS", oid => \@name_pkcs9_email },
|
|
{ name => "WC_NAME_USER_ID", oid => \@csr_user_id,
|
|
same => 1 },
|
|
{ name => "WC_NAME_RFC822_MAILBOX", oid => \@name_rfc822_mailbox },
|
|
{ name => "WC_NAME_FAVOURITE_DRINK", oid => \@name_fav_drink },
|
|
{ name => "WC_NAME_DOMAIN_COMPONENT", oid => \@name_domain_component },
|
|
{ name => "WC_NAME_JURIS_STATE_PROV", oid => \@name_juris_state_prov },
|
|
{ name => "WC_NAME_JURIS_COUNTRY", oid => \@name_juris_country },
|
|
);
|
|
|
|
print_enum("CertName_Sum", "_OID", \@cert_names, 40, 0);
|
|
|
|
print_footer();
|
|
|