Skip to content

Commit b29ad77

Browse files
committed
Update OID reference
* Added /iso/registration-authority/document-type. * Added link to the source of the X9.62 curves tree. * Added Certicom EC curves tree. * Updated Adobe tree to match the source object reference. * Updated CA/Browser Forum tree to match the source object reference. * Updated Computer Security Objects Register tree to match the source object reference. ** Existing algorithm names were modified to be the same, as in the original reference. ** Added post-quantum algorithms, that were recently approved by NIST.
1 parent a9c9d6a commit b29ad77

15 files changed

+470
-187
lines changed

src/main/java/com/itextpdf/rups/model/oid/builder/OidIsoIdentifiedOrganizationTreeBuilder.java

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,8 @@ public static OidTreeNode build() {
8383
)),
8484
entry("14", createOIWTree()),
8585
entry("36", createTeleTrustTree()),
86-
entry("101", createThawteTree())
86+
entry("101", createThawteTree()),
87+
entry("132", createCerticomTree())
8788
));
8889
// @formatter:on
8990
}
@@ -486,4 +487,55 @@ private static OidTreeNode createThawteTree() {
486487
));
487488
// @formatter:on
488489
}
490+
491+
/**
492+
* Tree: 1.3.132.*
493+
*
494+
* @see <a href="https://www.secg.org/SEC2-Ver-1.0.pdf">
495+
* SEC 2: Recommended Elliptic Curve Domain Parameters, Version 1.0
496+
* </a>
497+
*
498+
* @see <a href="https://www.secg.org/sec2-v2.pdf">
499+
* SEC 2: Recommended Elliptic Curve Domain Parameters, Version 2.0
500+
* </a>
501+
*/
502+
private static OidTreeNode createCerticomTree() {
503+
// @formatter:off
504+
return new OidTreeNode("certicom", Map.ofEntries(
505+
entry("0", "curve", Map.ofEntries(
506+
entry("1", "sect163k1"),
507+
entry("2", "sect163r1"),
508+
entry("3", "sect239k1"),
509+
entry("4", "sect113r1"),
510+
entry("5", "sect113r2"),
511+
entry("6", "secp112r1"),
512+
entry("7", "secp112r2"),
513+
entry("8", "secp160r1"),
514+
entry("9", "secp160k1"),
515+
entry("10", "secp256k1"),
516+
entry("15", "sect163r2"),
517+
entry("16", "sect283k1"),
518+
entry("17", "sect283r1"),
519+
entry("22", "sect131r1"),
520+
entry("23", "sect131r2"),
521+
entry("24", "sect193r1"),
522+
entry("25", "sect193r2"),
523+
entry("26", "sect233k1"),
524+
entry("27", "sect233r1"),
525+
entry("28", "secp128r1"),
526+
entry("29", "secp128r2"),
527+
entry("30", "secp160r2"),
528+
entry("31", "secp192k1"),
529+
entry("32", "secp224k1"),
530+
entry("33", "secp224r1"),
531+
entry("34", "secp384r1"),
532+
entry("35", "secp521r1"),
533+
entry("36", "sect409k1"),
534+
entry("37", "sect409r1"),
535+
entry("38", "sect571k1"),
536+
entry("39", "sect571r1")
537+
))
538+
));
539+
// @formatter:on
540+
}
489541
}

src/main/java/com/itextpdf/rups/model/oid/builder/OidIsoMemberBodyTreeBuilder.java

Lines changed: 68 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ private static OidTreeNode createX957Tree() {
102102
*/
103103
private static OidTreeNode createAnsiX962Tree() {
104104
// @formatter:off
105-
return new OidTreeNode("ansi-x962", Map.ofEntries(
105+
return new OidTreeNode("ansi-X9-62", Map.ofEntries(
106106
entry("0", "modules"),
107107
entry("1", "fieldType", Map.ofEntries(
108108
entry("1", "prime-field"),
@@ -117,39 +117,7 @@ private static OidTreeNode createAnsiX962Tree() {
117117
entry("2", "keyType", Map.ofEntries(
118118
entry("1", "ecPublicKey")
119119
)),
120-
entry("3", "curves", Map.ofEntries(
121-
entry("0", "characteristicTwo", Map.ofEntries(
122-
entry("1", "c2pnb163v1"),
123-
entry("2", "c2pnb163v2"),
124-
entry("3", "c2pnb163v3"),
125-
entry("4", "c2pnb176w1"),
126-
entry("5", "c2tnb191v1"),
127-
entry("6", "c2tnb191v2"),
128-
entry("7", "c2tnb191v3"),
129-
entry("8", "c2onb191v4"),
130-
entry("9", "c2onb191v5"),
131-
entry("10", "c2pnb208w1"),
132-
entry("11", "c2tnb239v1"),
133-
entry("12", "c2tnb239v2"),
134-
entry("13", "c2tnb239v3"),
135-
entry("14", "c2onb239v4"),
136-
entry("15", "c2onb239v5"),
137-
entry("16", "c2pnb272W1"),
138-
entry("17", "c2pnb304W1"),
139-
entry("18", "c2tnb359v1"),
140-
entry("19", "c2pnb368w1"),
141-
entry("20", "c2tnb431r1")
142-
)),
143-
entry("1", "prime", Map.ofEntries(
144-
entry("1", "prime192v1"),
145-
entry("2", "prime192v2"),
146-
entry("3", "prime192v3"),
147-
entry("4", "prime239v1"),
148-
entry("5", "prime239v2"),
149-
entry("6", "prime239v3"),
150-
entry("7", "prime256v1")
151-
))
152-
)),
120+
entry("3", createCurvesTree()),
153121
entry("4", "signatures", Map.ofEntries(
154122
entry("1", "ecdsa-with-SHA1"),
155123
entry("2", "ecdsa-with-Recommended"),
@@ -165,6 +133,49 @@ private static OidTreeNode createAnsiX962Tree() {
165133
// @formatter:on
166134
}
167135

136+
/**
137+
* Tree: 1.2.840.10045.3.*
138+
*
139+
* @see <a href="https://www.ietf.org/rfc/rfc3279.txt">RFC 3279</a>
140+
*/
141+
private static OidTreeNode createCurvesTree() {
142+
// @formatter:off
143+
return new OidTreeNode("curves", Map.ofEntries(
144+
entry("0", "characteristicTwo", Map.ofEntries(
145+
entry("1", "c2pnb163v1"),
146+
entry("2", "c2pnb163v2"),
147+
entry("3", "c2pnb163v3"),
148+
entry("4", "c2pnb176w1"),
149+
entry("5", "c2tnb191v1"),
150+
entry("6", "c2tnb191v2"),
151+
entry("7", "c2tnb191v3"),
152+
entry("8", "c2onb191v4"),
153+
entry("9", "c2onb191v5"),
154+
entry("10", "c2pnb208w1"),
155+
entry("11", "c2tnb239v1"),
156+
entry("12", "c2tnb239v2"),
157+
entry("13", "c2tnb239v3"),
158+
entry("14", "c2onb239v4"),
159+
entry("15", "c2onb239v5"),
160+
entry("16", "c2pnb272W1"),
161+
entry("17", "c2pnb304W1"),
162+
entry("18", "c2tnb359v1"),
163+
entry("19", "c2pnb368w1"),
164+
entry("20", "c2tnb431r1")
165+
)),
166+
entry("1", "prime", Map.ofEntries(
167+
entry("1", "prime192v1"),
168+
entry("2", "prime192v2"),
169+
entry("3", "prime192v3"),
170+
entry("4", "prime239v1"),
171+
entry("5", "prime239v2"),
172+
entry("6", "prime239v3"),
173+
entry("7", "prime256v1")
174+
))
175+
));
176+
// @formatter:on
177+
}
178+
168179
/**
169180
* Tree: 1.2.840.113549.*
170181
*/
@@ -650,16 +661,34 @@ private static OidTreeNode createSMimePskcTree() {
650661

651662
/**
652663
* Tree: 1.2.840.113583.*
664+
*
665+
* @see <a href="https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSigDC/oids.html">
666+
* Acrobat Desktop Digital Signatures - OIDs and Certificates
667+
* </a>
653668
*/
654669
private static OidTreeNode createAdobeTree() {
655670
// @formatter:off
656671
return new OidTreeNode("adbe", Map.ofEntries(
657672
entry("1", "acrobat", Map.ofEntries(
658673
entry("1", "security", Map.ofEntries(
659-
entry("8", "revocationInfoArchival")
674+
entry("1", "password"),
675+
entry("2", "defaultsigningcredential"),
676+
entry("3", "defaultencryptioncredential"),
677+
entry("4", "passwordtimeout"),
678+
entry("5", "authenticdocumentstrust"),
679+
entry("6", "dynamiccontenttrust"),
680+
entry("7", "ubiquity", Map.ofEntries(
681+
entry("1", "ubiquitysubrights")
682+
)),
683+
entry("8", "revinfoarchival"),
684+
entry("9", "x509Ext", Map.ofEntries(
685+
entry("1", "time-stamp"),
686+
entry("2", "archiverevinfo")
687+
)),
688+
entry("10", "ppklitecredential")
660689
)),
661690
entry("2", "cps", Map.ofEntries(
662-
entry("1", "authenticDocuments"),
691+
entry("1", "authenticdocuments"),
663692
entry("2", "test"),
664693
entry("3", "ubiquity"),
665694
entry("4", "adhoc"),
@@ -668,11 +697,11 @@ private static OidTreeNode createAdobeTree() {
668697
entry("7", "qeseal")
669698
)),
670699
entry("7", "ubiquity", Map.ofEntries(
671-
entry("1", "ubiquitySubRights")
700+
entry("1", "ubiquitysubrights")
672701
)),
673-
entry("9", "x509-extensions", Map.ofEntries(
702+
entry("9", "x509Ext", Map.ofEntries(
674703
entry("1", "time-stamp"),
675-
entry("2", "archiveRevInfo")
704+
entry("2", "archiverevinfo")
676705
))
677706
))
678707
));

0 commit comments

Comments
 (0)