rfc9579.original   rfc9579.txt 
Internet Engineering Task Force H. Kario, Ed. Internet Engineering Task Force (IETF) H. Kario, Ed.
Internet-Draft Red Hat, Inc. Request for Comments: 9579 Red Hat, Inc.
Updates: 7292, 8018 (if approved) 22 February 2024 Updates: 7292, 8018 May 2024
Intended status: Informational Category: Informational
Expires: 25 August 2024 ISSN: 2070-1721
Use of Password Based Message Authentication Code 1 (PBMAC1) in PKCS #12 Use of Password-Based Message Authentication Code 1 (PBMAC1) in PKCS #12
Syntax Syntax
draft-ietf-lamps-pkcs12-pbmac1-08
Abstract Abstract
This document specifies additions and amendments to RFCs 7292 and This document specifies additions and amendments to RFCs 7292 and
8018. It defines a way to use the Password Based Message 8018. It defines a way to use the Password-Based Message
Authentication Code 1, defined in RFC 8018, inside the PKCS #12 Authentication Code 1 (PBMAC1), defined in RFC 8018, inside the PKCS
syntax. The purpose of this specification is to permit use of more #12 syntax. The purpose of this specification is to permit the use
modern Password-Based Key Derivation Functions (PBKDFs) and allow for of more modern Password-Based Key Derivation Functions (PBKDFs) and
regulatory compliance. allow for regulatory compliance.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This document is not an Internet Standards Track specification; it is
provisions of BCP 78 and BCP 79. published for informational purposes.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are candidates for any level of Internet
Standard; see Section 2 of RFC 7841.
This Internet-Draft will expire on 25 August 2024. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9579.
Copyright Notice Copyright Notice
Copyright (c) 2024 IETF Trust and the persons identified as the Copyright (c) 2024 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction
2. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Rationale
3. Requirements Language . . . . . . . . . . . . . . . . . . . . 3 3. Requirements Language
4. Embedding PBMAC1 in PKCS #12 . . . . . . . . . . . . . . . . 3 4. Embedding PBMAC1 in PKCS #12
5. Recommended parameters . . . . . . . . . . . . . . . . . . . 4 5. Recommended Parameters
6. Password encoding . . . . . . . . . . . . . . . . . . . . . . 4 6. Password Encoding
7. Deprecated Algorithms . . . . . . . . . . . . . . . . . . . . 4 7. Deprecated Algorithms
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 8. IANA Considerations
9. Security Considerations . . . . . . . . . . . . . . . . . . . 5 9. Security Considerations
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 10. References
10.1. Normative References . . . . . . . . . . . . . . . . . . 5 10.1. Normative References
10.2. Informative References . . . . . . . . . . . . . . . . . 6 10.2. Informative References
Appendix A. Test Vectors . . . . . . . . . . . . . . . . . . . . 7 Appendix A. Test Vectors
A.1. Valid PKCS#12 file with SHA-256 HMAC and PRF . . . . . . 7 A.1. Valid PKCS #12 File with SHA-256 HMAC and PRF
A.2. Valid PKCS#12 file with SHA-256 HMAC and SHA-512 PRF . . 8 A.2. Valid PKCS #12 File with SHA-256 HMAC and SHA-512 PRF
A.3. Valid PKCS#12 file with SHA-512 HMAC and PRF . . . . . . 9 A.3. Valid PKCS #12 File with SHA-512 HMAC and PRF
A.4. Invalid PKCS#12 file with incorrect iteration count . . . 11 A.4. Invalid PKCS #12 File with Incorrect Iteration Count
A.5. Invalid PKCS#12 file with incorrect salt . . . . . . . . 12 A.5. Invalid PKCS #12 File with Incorrect Salt
A.6. Invalid PKCS#12 file with missing key length . . . . . . 13 A.6. Invalid PKCS #12 File with Missing Key Length
Appendix B. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 15 Appendix B. ASN.1 Module
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17 Author's Address
1. Introduction 1. Introduction
The PKCS #12 [RFC7292] format is widely used for interoperable The PKCS #12 format [RFC7292] is widely used for the interoperable
transfer of certificate, key, and other miscellaneous secrets between transfer of certificate, key, and other miscellaneous secrets between
machines, applications, browsers, etc. Unfortunately, the original machines, applications, browsers, etc. Unfortunately, the original
specification mandates the use of a specific password based key specification mandates the use of a specific password-based key
derivation function, the PBKDF1, allowing only for change of the derivation function, the PBKDF1, that only allows for change of the
underlying message digest function. underlying message digest function.
2. Rationale 2. Rationale
Due to security concerns with PBKDF1 and much higher extensibility of Due to security concerns with PBKDF1 and the much higher
PBMAC1 [RFC8018], we propose the use of PBMAC1 for integrity extensibility of PBMAC1 [RFC8018], we propose the use of PBMAC1 for
protection of PKCS #12 structures. The new syntax is designed to integrity protection of PKCS #12 structures. The new syntax is
allow legacy applications to still be able to decrypt the key designed to allow legacy applications to still be able to decrypt the
material, even if they are unable to interpret the new integrity key material, even if they are unable to interpret the new integrity
protection, provided that they can ignore failures in MAC protection, provided that they can ignore failures in Message
verification. This change allows for use of PBKDF2 [RFC8018] or Authentication Code (MAC) verification. This change allows for the
scrypt [RFC7914] KDFs for derivation of MAC keys and future use of PBKDF2 [RFC8018] or scrypt PBKDFs [RFC7914] for derivation of
extensibility. Use of the extensible PBMAC1 mechanism also allows MAC keys and future extensibility. Use of the extensible PBMAC1
for greater flexibility and alignment to different government mechanism also allows for greater flexibility and alignment with
regulations, for example, in environments where PBKDF2 is the only different government regulations, for example, in environments where
allowed password-based key derivation function. PBKDF2 is the only allowed password-based key derivation function.
As recommended methods for key protection require both encryption and As the recommended methods for key protection require both encryption
integrity protection, we've decided to amend the PKCS #12 format to and integrity protection, we decided to amend the PKCS #12 format to
support different key derivation functions rather than extending the support different key derivation functions rather than extending the
PKCS #5 by a new field allowing integrity protection. PKCS #5 format by a new field that allows integrity protection.
We have included an ASN.1 module [x680] [x681][x682][x683] [x690] We included an ASN.1 module [x680] [x681] [x682] [x683] [x690] that
that can be combined with the ASN.1 module in [RFC8018] to can be combined with the ASN.1 module in [RFC8018] to incorporate
incorporate additional MAC algorithms. additional MAC algorithms.
3. Requirements Language 3. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119][RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitabls, as shown here. capitals, as shown here.
4. Embedding PBMAC1 in PKCS #12 4. Embedding PBMAC1 in PKCS #12
The MacData structure in the PFX object, as described in bullet #3 in The MacData structure in the Personal Information Exchange (PFX)
section 4 of RFC 7292 [RFC7292], is updated to include this object, as described in item #3 in Section 4 of [RFC7292], is updated
additional PBMAC1-specific guidance: to include the following PBMAC1-specific guidance:
1. the id-PBMAC1 object identifier is permitted as a valid type for 1. The id-PBMAC1 object identifier is permitted as a valid type for
the DigestAlgorithmIdentifier inside the DigestInfo object. If the DigestAlgorithmIdentifier inside the DigestInfo object. If
the algorithm field of the DigestAlgorithmIdentifier is id- the algorithm field of the DigestAlgorithmIdentifier is id-
PBMAC1, then the parameters field MUST be present and have the PBMAC1, then the parameters field MUST be present and have a
value consistent with PBMAC1-params value consistent with PBMAC1-params.
2. if the PBMAC1 algorithm is used, the digest value of the 2. If the PBMAC1 algorithm is used, the digest value of the
DigestInfo object MUST be the result of the PBMAC1 calculation DigestInfo object MUST be the result of the PBMAC1 calculation
over the authSafe field using the PBMAC1-params parameters over the authSafe field using the PBMAC1-params parameters.
3. if the PBMAC1 algorithm is used, the macSalt value MUST be 3. If the PBMAC1 algorithm is used, the macSalt value MUST be
ignored, for backwards compatibility it SHOULD NOT be empty ignored. For backwards compatibility, it SHOULD NOT be empty.
4. if the PBMAC1 algorithm is used, the iterations value MUST be 4. If the PBMAC1 algorithm is used, the iterations value MUST be
ignored, for backwards compatibility it SHOULD have a non-zero ignored. For backwards compatibility, it SHOULD have a non-zero
positive value positive value.
5. Recommended parameters 5. Recommended Parameters
To provide interoperability between different implementations, all To provide interoperability between different implementations, all
implementations of this specification MUST support the PBKDF2 key implementations of this specification MUST support the PBKDF2 key
derivation function paired with SHA-256 HMAC [SHA2] [RFC2104] for derivation function paired with SHA-256 HMAC [SHA2] [RFC2104] for
both integrity check and as the PBKDF2 pseudorandom function (PRF). both integrity check and as the PBKDF2 pseudorandom function (PRF).
It's RECOMMENDED for implementations to support other SHA-2 based It's RECOMMENDED for implementations to support other SHA-2-based
HMACs. Implementations MAY use other hash functions, like the SHA-3 HMACs. Implementations MAY use other hash functions, like the SHA-3
family of hash functions SHA-3 [SHA3]. Implementations MAY use other family of hash functions [SHA3]. Implementations MAY use other KDF
KDF methods, like the scrypt PBKDF [RFC7914]. methods, like the scrypt PBKDF [RFC7914].
The length of the key generated by the used KDF MUST be encoded The length of the key generated by the used KDF MUST be encoded
explicitly in the parameters field and SHOULD be the same size as the explicitly in the parameters field and SHOULD be the same size as the
HMAC function output size. That means that PBMAC1-params specifying HMAC function output size. This means that PBMAC1-params specifying
SHA-256 HMAC should also include KDF parameters that generate 32 SHA-256 HMAC should also include KDF parameters that generate a
octet long key. In particular, when using the PBKDF2, the 32-octet key. In particular, when using the PBKDF2, implementations
implementations MUST include the keyLen field in the encoded MUST include the keyLen field in the encoded PBKDF2-params.
PBKDF2-params. Implementations MUST NOT accept PBKDF2 KDF with Implementations MUST NOT accept PBKDF2 KDF with PBKDF2-params that
PBKDF2-params that omit the keyLen field. omit the keyLen field.
6. Password encoding 6. Password Encoding
As documented in Appendix B.1 of RFC 7292 [RFC7292] handling of As documented in Appendix B.1 of [RFC7292], the handling of password
password encoding in the underlying standards is underspecified. encoding in the underlying standards is underspecified. However,
However, just as with PBES1 and PBES2 when used in the context of just as with PBES1 and PBES2 when used in the context of PKCS #12
PKCS#12 objects, all passwords used with PBMAC1 MUST be created from objects, all passwords used with PBMAC1 MUST be created from
BMPStrings with a NULL terminator. BMPStrings with a NULL terminator.
7. Deprecated Algorithms 7. Deprecated Algorithms
While attacks against SHA-1 HMACs are not considered practical While attacks against SHA-1 HMACs are not considered practical
[RFC6194] to limit the number of algorithms needed for [RFC6194] to limit the number of algorithms needed for
interoperatbility, implementations of this specification SHOULD NOT interoperability, implementations of this specification SHOULD NOT
use PBKDF2 with the SHA-1 HMAC. Additionally the implementation MUST use PBKDF2 with the SHA-1 HMAC. In addition, implementations MUST
NOT use any other message digest functions with output of 160 bits or NOT use any other message digest functions with an output of 160 bits
smaller. or less.
8. IANA Considerations 8. IANA Considerations
IANA is requested to assign an object identifier from the SMI IANA has registered the following object identifier in the "SMI
Security for S/MIME Module Identifier registry for the ASN.1 module Security for S/MIME Module Identifier (1.2.840.113549.1.9.16.0)"
found in Appendix B. registry. See Appendix B for the ASN.1 module.
+=========+=======================+===========+
| Decimal | Description | Reference |
+=========+=======================+===========+
| 76 | id-pkcs12-pbmac1-2023 | RFC 9579 |
+---------+-----------------------+-----------+
Table 1
9. Security Considerations 9. Security Considerations
Except for use of different key derivation functions, this document Except for the use of different key derivation functions, this
doesn't change how the integrity protection on PKCS #12 objects is document doesn't change how the integrity protection on PKCS #12
computed; therefore all the original security considerations from RFC objects is computed; therefore, all the security considerations from
7292 [RFC7292] apply. [RFC7292] apply.
Use of PBMAC1 and PBKDF2 is unchanged from RFC 8018 [RFC8018]; Use of PBMAC1 and PBKDF2 is unchanged from [RFC8018]; therefore, all
therefore all the original security considerations apply. the security considerations from [RFC8018] apply.
The KDFs generally don't have a lower limit for the generated key The KDFs generally don't have a lower limit for the generated key
size, allowing specifying very small key sizes (of 1 octet), which size, allowing the specification of very small key sizes (of 1
can facilitate brute-force attacks on the HMAC. Since the KDF octet), which can facilitate brute-force attacks on the HMAC. Since
parameters are not cryptographically protected and HMACs accept the KDF parameters are not cryptographically protected and HMACs
arbitrary key sizes, implementations MAY refuse to process KDF accept arbitrary key sizes, implementations MAY refuse to process KDF
parameters that specify small key output sizes or weak parameters. parameters that specify small key output sizes or weak parameters.
It's RECOMMENDED to reject any KDF parameters that specify key It's RECOMMENDED to reject any KDF parameters that specify key
lengths below 20 octets. lengths less than 20 octets.
10. References 10. References
10.1. Normative References 10.1. Normative References
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-
Hashing for Message Authentication", RFC 2104, Hashing for Message Authentication", RFC 2104,
DOI 10.17487/RFC2104, February 1997, DOI 10.17487/RFC2104, February 1997,
<https://www.rfc-editor.org/info/rfc2104>. <https://www.rfc-editor.org/info/rfc2104>.
skipping to change at page 6, line 14 skipping to change at line 242
[RFC8018] Moriarty, K., Ed., Kaliski, B., and A. Rusch, "PKCS #5: [RFC8018] Moriarty, K., Ed., Kaliski, B., and A. Rusch, "PKCS #5:
Password-Based Cryptography Specification Version 2.1", Password-Based Cryptography Specification Version 2.1",
RFC 8018, DOI 10.17487/RFC8018, January 2017, RFC 8018, DOI 10.17487/RFC8018, January 2017,
<https://www.rfc-editor.org/info/rfc8018>. <https://www.rfc-editor.org/info/rfc8018>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[SHA2] National Institute of Standards and Technology, "Secure [SHA2] National Institute of Standards and Technology (NIST),
Hash Standard (SHS)", August 2015, "Secure Hash Standard (SHS)", FIPS PUB 180-4,
<https://doi.org/10.6028/NIST.FIPS.180-4>. DOI 10.6028/NIST.FIPS.180-4, August 2015,
<https://nvlpubs.nist.gov/nistpubs/FIPS/
NIST.FIPS.180-4.pdf>.
[x680] ITU-T, "Information Technology - Abstract Syntax Notation [x680] ITU-T, "Information technology - Abstract Syntax Notation
One (ASN.1): Specification of basic notation", ITU-T One (ASN.1): Specification of basic notation", ITU-T
Recommendation X.680, ISO/IEC 8824-1:2021, February 2021, Recommendation X.680, ISO/IEC 8824-1:2021, February 2021,
<https://www.itu.int/rec/T-REC-X.680>. <https://www.itu.int/rec/T-REC-X.680>.
[x681] ITU-T, "Information Technology - Abstract Syntax Notation [x681] ITU-T, "Information technology - Abstract Syntax Notation
One (ASN.1): Information object specification", ITU-T One (ASN.1): Information object specification", ITU-T
Recommendation X.681, ISO/IEC 8824-2:2021, February 2021, Recommendation X.681, ISO/IEC 8824-2:2021, February 2021,
<https://www.itu.int/rec/T-REC-X.681>. <https://www.itu.int/rec/T-REC-X.681>.
[x682] ITU-T, "Information Technology - Abstract Syntax Notation [x682] ITU-T, "Information technology - Abstract Syntax Notation
One (ASN.1): Constraint specification", ITU-T One (ASN.1): Constraint specification", ITU-T
Recommendation X.682, ISO/IEC 8824-3:2021, February 2021, Recommendation X.682, ISO/IEC 8824-3:2021, February 2021,
<https://www.itu.int/rec/T-REC-X.682>. <https://www.itu.int/rec/T-REC-X.682>.
[x683] ITU-T, "Information Technology - Abstract Syntax Notation [x683] ITU-T, "Information technology - Abstract Syntax Notation
One (ASN.1): Parameterization of ASN.1 specifications", One (ASN.1): Parameterization of ASN.1 specifications",
ITU-T Recommendation X.683, ISO/IEC 8824-4:2021, February ITU-T Recommendation X.683, ISO/IEC 8824-4:2021, February
2021, <https://www.itu.int/rec/T-REC-X.683>. 2021, <https://www.itu.int/rec/T-REC-X.683>.
[x690] ITU-T, "Information Technology - ASN.1 encoding rules: [x690] ITU-T, "Information technology - ASN.1 encoding rules:
Specification of Basic Encoding Rules (BER), Canonical Specification of Basic Encoding Rules (BER), Canonical
Encoding Rules (CER) and Distinguished Encoding Rules Encoding Rules (CER) and Distinguished Encoding Rules
(DER)", ITU-T Recommendation X.690, ISO/IEC 8825-1:2021, (DER)", ITU-T Recommendation X.690, ISO/IEC 8825-1:2021,
February 2021, <https://www.itu.int/rec/T-REC-X.690>. February 2021, <https://www.itu.int/rec/T-REC-X.690>.
10.2. Informative References 10.2. Informative References
[RFC7914] Percival, C. and S. Josefsson, "The scrypt Password-Based [RFC7914] Percival, C. and S. Josefsson, "The scrypt Password-Based
Key Derivation Function", RFC 7914, DOI 10.17487/RFC7914, Key Derivation Function", RFC 7914, DOI 10.17487/RFC7914,
August 2016, <https://www.rfc-editor.org/info/rfc7914>. August 2016, <https://www.rfc-editor.org/info/rfc7914>.
[SHA3] National Institute of Standards and Technology, "SHA-3 [SHA3] National Institute of Standards and Technology (NIST),
Standard: Permutation-Based Hash and Extendable-Output "SHA-3 Standard: Permutation-Based Hash and Extendable-
Functions", August 2015, Output Functions", FIPS PUB 202,
<https://doi.org/10.6028/NIST.FIPS.202>. DOI 10.6028/NIST.FIPS.202, August 2015,
<https://nvlpubs.nist.gov/nistpubs/FIPS/
NIST.FIPS.202.pdf>.
Appendix A. Test Vectors Appendix A. Test Vectors
All test vectors use "1234" as the password for both encryption and All test vectors use "1234" as the password for both encryption and
integrity protection. integrity protection.
A.1. Valid PKCS#12 file with SHA-256 HMAC and PRF A.1. Valid PKCS #12 File with SHA-256 HMAC and PRF
The following base64 encoded PKCS#12 file MUST be readable by The following base64-encoded PKCS #12 file MUST be readable by
implementations following this RFC. implementations following this RFC.
MIIKigIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH MIIKigIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH
BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG
SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME
ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb
7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb 7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb
+TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF +TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF
Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9 Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9
5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy 5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy
skipping to change at page 8, line 29 skipping to change at line 355
p8wyik/BlndxN9eKbdTOi2wIi64h2QG8nOk66wQ/PSIJYwZl6eDNEQSzH/1mGCfU p8wyik/BlndxN9eKbdTOi2wIi64h2QG8nOk66wQ/PSIJYwZl6eDNEQSzH/1mGCfU
QnUT17UC/p+Qgenf6Auap2GWlvsJrB7u/pytz65rtjt/ouo6Ih6EwWqwVVpGXZD0 QnUT17UC/p+Qgenf6Auap2GWlvsJrB7u/pytz65rtjt/ouo6Ih6EwWqwVVpGXZD0
7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE 7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE
IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM
FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq
hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfDBtMEkGCSqGSIb3DQEF hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfDBtMEkGCSqGSIb3DQEF
DjA8MCwGCSqGSIb3DQEFDDAfBAhvRzw4sC4xcwICCAACASAwDAYIKoZIhvcNAgkF DjA8MCwGCSqGSIb3DQEFDDAfBAhvRzw4sC4xcwICCAACASAwDAYIKoZIhvcNAgkF
ADAMBggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG ADAMBggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG
3QQITk9UIFVTRUQCAQE= 3QQITk9UIFVTRUQCAQE=
A.2. Valid PKCS#12 file with SHA-256 HMAC and SHA-512 PRF A.2. Valid PKCS #12 File with SHA-256 HMAC and SHA-512 PRF
The following base64 encoded PKCS#12 file SHOULD be readable by The following base64-encoded PKCS #12 file SHOULD be readable by
implementations following this RFC. implementations following this RFC.
MIIKigIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH MIIKigIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH
BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG
SIb3DQEFDDAcBAi4j6UBBY2iOgICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME SIb3DQEFDDAcBAi4j6UBBY2iOgICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME
ASoEEFpHSS5zrk/9pkDo1JRbtE6AggPgtbMLGoFd5KLpVXMdcxLrT129L7/vCr0B ASoEEFpHSS5zrk/9pkDo1JRbtE6AggPgtbMLGoFd5KLpVXMdcxLrT129L7/vCr0B
0I2tnhPPA7aFtRjjuGbwooCMQwxw9qzuCX1eH4xK2LUw6Gbd2H47WimSOWJMaiUb 0I2tnhPPA7aFtRjjuGbwooCMQwxw9qzuCX1eH4xK2LUw6Gbd2H47WimSOWJMaiUb
wy4alIWELYufe74kXPmKPCyH92lN1hqu8s0EGhIl7nBhWbFzow1+qpIc9/lpujJo wy4alIWELYufe74kXPmKPCyH92lN1hqu8s0EGhIl7nBhWbFzow1+qpIc9/lpujJo
wodSY+pNBD8oBeoU1m6DgOjgc62apL7m0nwavDUqEt7HAqtTBxKxu/3lpb1q8nbl wodSY+pNBD8oBeoU1m6DgOjgc62apL7m0nwavDUqEt7HAqtTBxKxu/3lpb1q8nbl
XLTqROax5feXErf+GQAqs24hUJIPg3O1eCMDVzH0h5pgZyRN9ZSIP0HC1i+d1lnb XLTqROax5feXErf+GQAqs24hUJIPg3O1eCMDVzH0h5pgZyRN9ZSIP0HC1i+d1lnb
skipping to change at page 9, line 44 skipping to change at line 418
TuuV/JWldNuYXLfVfuv3msfSjSWkv6aRtRWIvmOv0Qba2o05LlwFMd1PzKM5uN4D TuuV/JWldNuYXLfVfuv3msfSjSWkv6aRtRWIvmOv0Qba2o05LlwFMd1PzKM5uN4D
DYtsS9A6yQOXEsvUkWcLOJnCs8SkJRdXhJTxdmzeBqM1JttKwLbgGMbpjbxlg3ns DYtsS9A6yQOXEsvUkWcLOJnCs8SkJRdXhJTxdmzeBqM1JttKwLbgGMbpjbxlg3ns
N+Z+sEFox+2ZWOglgnBHj0mCZOiAC8wqUu+sxsLT4WndaPWKVqoRQChvDaZaNOaN N+Z+sEFox+2ZWOglgnBHj0mCZOiAC8wqUu+sxsLT4WndaPWKVqoRQChvDaZaNOaN
qHciF9HPUcfZow+fH8TnSHneiQcDe6XcMhSaQ2MtpY8/jrgNKguZt22yH9gw/VpT qHciF9HPUcfZow+fH8TnSHneiQcDe6XcMhSaQ2MtpY8/jrgNKguZt22yH9gw/VpT
3/QOB7FBgKFIEbvUaf3nVjFIlryIheg+LeiBd2isoMNNXaBwcg2YXukxJTAjBgkq 3/QOB7FBgKFIEbvUaf3nVjFIlryIheg+LeiBd2isoMNNXaBwcg2YXukxJTAjBgkq
hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfDBtMEkGCSqGSIb3DQEF hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfDBtMEkGCSqGSIb3DQEF
DjA8MCwGCSqGSIb3DQEFDDAfBAgUr2yP+/DBrgICCAACASAwDAYIKoZIhvcNAgsF DjA8MCwGCSqGSIb3DQEFDDAfBAgUr2yP+/DBrgICCAACASAwDAYIKoZIhvcNAgsF
ADAMBggqhkiG9w0CCQUABCA5zFL93jw8ItGlcbHKhqkNwbgpp6layuOuxSju4/Vd ADAMBggqhkiG9w0CCQUABCA5zFL93jw8ItGlcbHKhqkNwbgpp6layuOuxSju4/Vd
6QQITk9UIFVTRUQCAQE= 6QQITk9UIFVTRUQCAQE=
A.3. Valid PKCS#12 file with SHA-512 HMAC and PRF A.3. Valid PKCS #12 File with SHA-512 HMAC and PRF
The following base64 encoded PKCS#12 file SHOULD be readable by The following base64-encoded PKCS #12 file SHOULD be readable by
implementations following this RFC. implementations following this RFC.
MIIKrAIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH MIIKrAIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH
BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG
SIb3DQEFDDAcBAisrqL8obSBaQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME SIb3DQEFDDAcBAisrqL8obSBaQICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME
ASoEECjXYYca0pwsgn1Imb9WqFGAggPgT7RcF5YzEJANZU9G3tSdpCHnyWatTlhm ASoEECjXYYca0pwsgn1Imb9WqFGAggPgT7RcF5YzEJANZU9G3tSdpCHnyWatTlhm
iCEcBGgwI5gz0+GoX+JCojgYY4g+KxeqznyCu+6GeD00T4Em7SWme9nzAfBFzng0 iCEcBGgwI5gz0+GoX+JCojgYY4g+KxeqznyCu+6GeD00T4Em7SWme9nzAfBFzng0
3lYCSnahSEKfgHerbzAtq9kgXkclPVk0Liy92/buf0Mqotjjs/5o78AqP86Pwbj8 3lYCSnahSEKfgHerbzAtq9kgXkclPVk0Liy92/buf0Mqotjjs/5o78AqP86Pwbj8
xYNuXOU1ivO0JiW2c2HefKYvUvMYlOh99LCoZPLHPkaaZ4scAwDjFeTICU8oowVk xYNuXOU1ivO0JiW2c2HefKYvUvMYlOh99LCoZPLHPkaaZ4scAwDjFeTICU8oowVk
LKvslrg1pHbfmXHMFJ4yqub37hRtj2CoJNy4+UA2hBYlBi9WnuAJIsjv0qS3kpLe LKvslrg1pHbfmXHMFJ4yqub37hRtj2CoJNy4+UA2hBYlBi9WnuAJIsjv0qS3kpLe
skipping to change at page 11, line 14 skipping to change at line 481
3bI79uKo4we2g+WaEJlEzQ7147ZzV2wbDq89W69x1MWTfaDwlEtd4UaacYchAv7B 3bI79uKo4we2g+WaEJlEzQ7147ZzV2wbDq89W69x1MWTfaDwlEtd4UaacYchAv7B
TVaaVFiRAUywWaHGePpZG2WV1feH/zd+temxWR9qMFgBZySg1jipBPVciwl0LqlW TVaaVFiRAUywWaHGePpZG2WV1feH/zd+temxWR9qMFgBZySg1jipBPVciwl0LqlW
s/raIBYmLmAaMMgM3759UkNVznDoFHrY4z2EADXp0RHHVzJS1x+yYvp/9I+AcW55 s/raIBYmLmAaMMgM3759UkNVznDoFHrY4z2EADXp0RHHVzJS1x+yYvp/9I+AcW55
oN0UP/3uQ6eyz/ix22sovQwhMJ8rmgR6CfyRPKmXu1RPK3puNv7mbFTfTXpYN2vX oN0UP/3uQ6eyz/ix22sovQwhMJ8rmgR6CfyRPKmXu1RPK3puNv7mbFTfTXpYN2vX
vhEZReXY8hJF/9o4G3UrJ1F0MgUHMCG86cw1z0bhPSaXVoufOnx/fRoxJTAjBgkq vhEZReXY8hJF/9o4G3UrJ1F0MgUHMCG86cw1z0bhPSaXVoufOnx/fRoxJTAjBgkq
hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwgZ0wgY0wSQYJKoZIhvcN hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwgZ0wgY0wSQYJKoZIhvcN
AQUOMDwwLAYJKoZIhvcNAQUMMB8ECFDaXOUaOcUPAgIIAAIBQDAMBggqhkiG9w0C AQUOMDwwLAYJKoZIhvcNAQUMMB8ECFDaXOUaOcUPAgIIAAIBQDAMBggqhkiG9w0C
CwUAMAwGCCqGSIb3DQILBQAEQHIAM8C9OAsHUCj9CmOJioqf7YwD4O/b3UiZ3Wqo CwUAMAwGCCqGSIb3DQILBQAEQHIAM8C9OAsHUCj9CmOJioqf7YwD4O/b3UiZ3Wqo
F6OmQIRDc68SdkZJ6024l4nWlnhTE7a4lb2Tru4k3NOTa1oECE5PVCBVU0VEAgEB F6OmQIRDc68SdkZJ6024l4nWlnhTE7a4lb2Tru4k3NOTa1oECE5PVCBVU0VEAgEB
A.4. Invalid PKCS#12 file with incorrect iteration count A.4. Invalid PKCS #12 File with Incorrect Iteration Count
The following base64 encoded PKCS#12 file MUST NOT be readable by an The following base64-encoded PKCS #12 file MUST NOT be readable by an
implementation following this RFC when it is verifying itegrity implementation following this RFC when it is verifying integrity
protection. protection.
MIIKiwIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH MIIKiwIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH
BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG
SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME
ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb
7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb 7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb
+TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF +TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF
Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9 Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9
5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy 5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy
skipping to change at page 12, line 30 skipping to change at line 545
p8wyik/BlndxN9eKbdTOi2wIi64h2QG8nOk66wQ/PSIJYwZl6eDNEQSzH/1mGCfU p8wyik/BlndxN9eKbdTOi2wIi64h2QG8nOk66wQ/PSIJYwZl6eDNEQSzH/1mGCfU
QnUT17UC/p+Qgenf6Auap2GWlvsJrB7u/pytz65rtjt/ouo6Ih6EwWqwVVpGXZD0 QnUT17UC/p+Qgenf6Auap2GWlvsJrB7u/pytz65rtjt/ouo6Ih6EwWqwVVpGXZD0
7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE 7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE
IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM
FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq
hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfTBtMEkGCSqGSIb3DQEF hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfTBtMEkGCSqGSIb3DQEF
DjA8MCwGCSqGSIb3DQEFDDAfBAhvRzw4sC4xcwICCAECASAwDAYIKoZIhvcNAgkF DjA8MCwGCSqGSIb3DQEFDDAfBAhvRzw4sC4xcwICCAECASAwDAYIKoZIhvcNAgkF
ADAMBggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG ADAMBggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG
3QQITk9UIFVTRUQCAggA 3QQITk9UIFVTRUQCAggA
A.5. Invalid PKCS#12 file with incorrect salt A.5. Invalid PKCS #12 File with Incorrect Salt
The following base64 encoded PKCS#12 file MUST NOT be readable by an The following base64-encoded PKCS #12 file MUST NOT be readable by an
implementation following this RFC when it is verifying itegrity implementation following this RFC when it is verifying integrity
protection. protection.
MIIKigIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH MIIKigIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH
BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG
SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME
ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb
7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb 7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb
+TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF +TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF
Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9 Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9
5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy 5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy
skipping to change at page 13, line 46 skipping to change at line 609
p8wyik/BlndxN9eKbdTOi2wIi64h2QG8nOk66wQ/PSIJYwZl6eDNEQSzH/1mGCfU p8wyik/BlndxN9eKbdTOi2wIi64h2QG8nOk66wQ/PSIJYwZl6eDNEQSzH/1mGCfU
QnUT17UC/p+Qgenf6Auap2GWlvsJrB7u/pytz65rtjt/ouo6Ih6EwWqwVVpGXZD0 QnUT17UC/p+Qgenf6Auap2GWlvsJrB7u/pytz65rtjt/ouo6Ih6EwWqwVVpGXZD0
7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE 7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE
IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM
FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq
hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfDBtMEkGCSqGSIb3DQEF hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwfDBtMEkGCSqGSIb3DQEF
DjA8MCwGCSqGSIb3DQEFDDAfBAhOT1QgVVNFRAICCAACASAwDAYIKoZIhvcNAgkF DjA8MCwGCSqGSIb3DQEFDDAfBAhOT1QgVVNFRAICCAACASAwDAYIKoZIhvcNAgkF
ADAMBggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG ADAMBggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG
3QQIb0c8OLAuMXMCAQE= 3QQIb0c8OLAuMXMCAQE=
A.6. Invalid PKCS#12 file with missing key length A.6. Invalid PKCS #12 File with Missing Key Length
The following base64 encoded PKCS#12 file MUST NOT be readable by an The following base64-encoded PKCS #12 file MUST NOT be readable by an
implementation following this RFC when it is verifying itegrity implementation following this RFC when it is verifying integrity
protection. protection.
MIIKiAIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH MIIKiAIBAzCCCgUGCSqGSIb3DQEHAaCCCfYEggnyMIIJ7jCCBGIGCSqGSIb3DQEH
BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG BqCCBFMwggRPAgEAMIIESAYJKoZIhvcNAQcBMFcGCSqGSIb3DQEFDTBKMCkGCSqG
SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME SIb3DQEFDDAcBAg9pxXxY2yscwICCAAwDAYIKoZIhvcNAgkFADAdBglghkgBZQME
ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb ASoEEK7yYaFQDi1pYwWzm9F/fs+AggPgFIT2XapyaFgDppdvLkdvaF3HXw+zjzKb
7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb 7xFC76DtVPhVTWVHD+kIss+jsj+XyvMwY0aCuAhAG/Dig+vzWomnsqB5ssw5/kTb
+TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF +TMQ5PXLkNeoBmB6ArKeGc/QmCBQvQG/a6b+nXSWmxNpP+71772dmWmB8gcSJ0kF
Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9 Fj75NrIbmNiDMCb71Q8gOzBMFf6BpXf/3xWAJtxyic+tSNETfOJa8zTZb0+lV0w9
5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy 5eUmDrPUpuxEVbb0KJtIc63gRkcfrPtDd6Ii4Zzbzj2Evr4/S4hnrQBsiryVzJWy
skipping to change at page 15, line 16 skipping to change at line 675
7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE 7gVWH0Ke/Vr6aPGNvkLcmftPuDZsn9jiig3guhdeyRVf10Ox369kKWcG75q77hxE
IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM IzSzDyUlBNbnom9SIjut3r+qVYmWONatC6q/4D0I42Lnjd3dEyZx7jmH3g/S2ASM
FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq FzWr9pvXc61dsYOkdZ4PYa9XPUZxXFagZsoS3F1sU799+IJVU0tC0MExJTAjBgkq
hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwejBqMEYGCSqGSIb3DQEF hkiG9w0BCRUxFgQUwWO5DorvVWYF3BWUmAw0rUEajScwejBqMEYGCSqGSIb3DQEF
DjA5MCkGCSqGSIb3DQEFDDAcBAhvRzw4sC4xcwICCAAwDAYIKoZIhvcNAgkFADAM DjA5MCkGCSqGSIb3DQEFDDAcBAhvRzw4sC4xcwICCAAwDAYIKoZIhvcNAgkFADAM
BggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG3QQI BggqhkiG9w0CCQUABCB6pW2FOdcCNj87zS64NUXG36K5aXDnFHctIk5Bf4kG3QQI
b0c8OLAuMXMCAggA b0c8OLAuMXMCAggA
Appendix B. ASN.1 Module Appendix B. ASN.1 Module
Note to RFC Editor: please change the TBD value below with the value This appendix documents ASN.1 [x680] [x681] [x682] [x683] [x690]
assigned by IANA types, values, and object sets for this specification. It does so by
This appendix documents ASN.1 [x680] [x681][x682][x683] [x690] types,
values, and object sets for this specification. It does so by
providing an ASN.1 module called PKCS12-PBMAC1-2023. providing an ASN.1 module called PKCS12-PBMAC1-2023.
Combine this module with the PKCS-12 ASN.1 module found in Appendix D Combine this module with the PKCS-12 ASN.1 module found in Appendix D
of [RFC8018] to add SHA-2 based HMACs by replacing the PBKDF2-PRFs of [RFC8018] to add SHA-2-based HMACs by replacing the PBKDF2-PRFs
class found therein. class found therein.
PKCS12-PBMAC1-2023 PKCS12-PBMAC1-2023
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
smime(16) id-mod(0) pbkc12-pbamc1-2023(TBD) } smime(16) id-mod(0) id-pkcs12-pbmac1-2023(76) }
DEFINITIONS EXPLICIT TAGS ::= DEFINITIONS EXPLICIT TAGS ::=
BEGIN BEGIN
IMPORTS IMPORTS
AlgorithmIdentifier, ALGORITHM-IDENTIFIER, rsadsi AlgorithmIdentifier, ALGORITHM-IDENTIFIER, rsadsi
FROM PKCS5v2-1 -- From [RFC8018] FROM PKCS5v2-1 -- From [RFC8018]
{ iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-5(5) { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-5(5)
modules(16) pkcs5v2-1(2) } modules(16) pkcs5v2-1(2) }
 End of changes. 57 change blocks. 
156 lines changed or deleted 164 lines changed or added

This html diff was produced by rfcdiff 1.48.