Skip to content

Commit 13c47b4

Browse files
author
Erlang/OTP
committed
Merge branch 'dgud/public_key/PKICMP/OTP-19861' into maint-28
* dgud/public_key/PKICMP/OTP-19861: Include new header files public_key: Add PKICMP spec, Certificate Management Protocol
2 parents 100ff3a + bfea8cb commit 13c47b4

File tree

14 files changed

+1495
-8
lines changed

14 files changed

+1495
-8
lines changed

lib/public_key/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ src/EnrollmentMessageSyntax-2009.erl
2121
src/EnrollmentMessageSyntax-2009.hrl
2222
src/ECPrivateKey.erl
2323
src/ECPrivateKey.hrl
24+
src/KEMAlgorithmInformation-2023.erl
2425
src/X509-ML-DSA-2025.erl
2526
src/X509-ML-DSA-2025.hrl
2627
src/OCSP-2024-08.erl
@@ -35,6 +36,8 @@ src/PKCS-3.erl
3536
src/PKCS-3.hrl
3637
src/PKIX-CommonTypes-2009.erl
3738
src/PKIX-CommonTypes-2009.hrl
39+
src/PKIXCMP-2023.hrl
40+
src/PKIXCMP-2023.erl
3841
src/PKIX-X400Address-2009.erl
3942
src/PKIX-X400Address-2009.hrl
4043
src/PKIX1-PSS-OAEP-Algorithms-2009.erl
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
-- %CopyrightBegin%
2+
--
3+
-- SPDX-License-Identifier: BSD-3-Clause
4+
--
5+
-- Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.
6+
-- Copyright Ericsson AB 2025. All Rights Reserved.
7+
--
8+
-- Redistribution and use in source and binary forms, with or without
9+
-- modification, are permitted provided that the following conditions are met:
10+
--
11+
-- 1. Redistributions of source code must retain the above copyright notice,
12+
-- this list of conditions and the following disclaimer.
13+
--
14+
-- 2. Redistributions in binary form must reproduce the above copyright notice,
15+
-- this list of conditions and the following disclaimer in the documentation
16+
-- and/or other materials provided with the distribution.
17+
--
18+
-- 3. Neither the name of the copyright holder nor the names of its contributors
19+
-- may be used to endorse or promote products derived from this software
20+
-- without specific prior written permission.
21+
--
22+
-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
23+
-- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24+
-- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25+
-- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
26+
-- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27+
-- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28+
-- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29+
-- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30+
-- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31+
-- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32+
-- POSSIBILITY OF SUCH DAMAGE.
33+
--
34+
-- %CopyrightEnd%
35+
36+
KEMAlgorithmInformation-2023
37+
{ iso(1) identified-organization(3) dod(6) internet(1)
38+
security(5) mechanisms(5) pkix(7) id-mod(0)
39+
id-mod-kemAlgorithmInformation-2023(109) }
40+
41+
DEFINITIONS EXPLICIT TAGS ::=
42+
BEGIN
43+
-- EXPORTS ALL;
44+
IMPORTS
45+
ParamOptions, PUBLIC-KEY, SMIME-CAPS
46+
FROM AlgorithmInformation-2009
47+
{ iso(1) identified-organization(3) dod(6) internet(1)
48+
security(5) mechanisms(5) pkix(7) id-mod(0)
49+
id-mod-algorithmInformation-02(58) } ;
50+
51+
-- KEM-ALGORITHM
52+
--
53+
-- Describes the basic properties of a KEM algorithm
54+
--
55+
-- Suggested prefix for KEM algorithm objects is: kema-
56+
--
57+
-- &id - contains the OID identifying the KEM algorithm
58+
-- &Value - if present, contains a type definition for the kemct;
59+
-- if absent, implies that no ASN.1 encoding is
60+
-- performed on the kemct value
61+
-- &Params - if present, contains the type for the algorithm
62+
-- parameters; if absent, implies no parameters
63+
-- &paramPresence - parameter presence requirement
64+
-- &PublicKeySet - specifies which public keys are used with
65+
-- this algorithm
66+
-- &Ukm - if absent, type for user keying material
67+
-- &ukmPresence - specifies the requirements to define the UKM
68+
-- field
69+
-- &smimeCaps - contains the object describing how the S/MIME
70+
-- capabilities are presented.
71+
--
72+
-- Example:
73+
-- kema-kem-rsa KEM-ALGORITHM ::= {
74+
-- IDENTIFIER id-kem-rsa
75+
-- PARAMS TYPE RsaKemParameters ARE optional
76+
-- PUBLIC-KEYS { pk-rsa | pk-rsa-kem }
77+
-- UKM ARE optional
78+
-- SMIME-CAPS { TYPE GenericHybridParameters
79+
-- IDENTIFIED BY id-rsa-kem }
80+
-- }
81+
82+
KEM-ALGORITHM ::= CLASS {
83+
&id OBJECT IDENTIFIER UNIQUE,
84+
&Value OPTIONAL,
85+
&Params OPTIONAL,
86+
&paramPresence ParamOptions DEFAULT absent,
87+
&PublicKeySet PUBLIC-KEY OPTIONAL,
88+
&Ukm OPTIONAL,
89+
&ukmPresence ParamOptions DEFAULT absent,
90+
&smimeCaps SMIME-CAPS OPTIONAL
91+
} WITH SYNTAX {
92+
IDENTIFIER &id
93+
[VALUE &Value]
94+
[PARAMS [TYPE &Params] ARE &paramPresence]
95+
[PUBLIC-KEYS &PublicKeySet]
96+
[UKM [TYPE &Ukm] ARE &ukmPresence]
97+
[SMIME-CAPS &smimeCaps]
98+
}
99+
100+
END

lib/public_key/asn1/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ ASN_MODULES = \
5757
CMSAesRsaesOaep-2009 \
5858
DSS \
5959
ECPrivateKey \
60+
KEMAlgorithmInformation-2023 \
6061
X509-ML-DSA-2025 \
6162
OCSP-2024-08 \
6263
OTP-PKIX \
@@ -67,6 +68,7 @@ ASN_MODULES = \
6768
PKIX1Explicit-2009 \
6869
PKIX1Implicit-2009 \
6970
PKIXAlgs-2009 \
71+
PKIXCMP-2023 \
7072
PKIXCRMF-2009 \
7173
EnrollmentMessageSyntax-2009 \
7274
PKIXAttributeCertificate-2009 \

0 commit comments

Comments
 (0)