summaryrefslogtreecommitdiffstats
path: root/crypto/crmf/crmf_lib.c
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2021-07-06 12:23:51 +0200
committerDr. David von Oheimb <dev@ddvo.net>2022-12-07 21:57:36 +0100
commit084d3afd26cc20b41241b70b6c709b76d2a334a5 (patch)
tree97d0f88b9a2941a2ca9dfe664a9216a98b794caa /crypto/crmf/crmf_lib.c
parenta63fa5f711f1f97e623348656b42717d6904ee3e (diff)
Compensate for CMP-related TODOs removed by PR #15539
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Hugo Landau <hlandau@openssl.org> Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com> (Merged from https://github.com/openssl/openssl/pull/16006)
Diffstat (limited to 'crypto/crmf/crmf_lib.c')
-rw-r--r--crypto/crmf/crmf_lib.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/crypto/crmf/crmf_lib.c b/crypto/crmf/crmf_lib.c
index 4e90cbe02c..e57192fc83 100644
--- a/crypto/crmf/crmf_lib.c
+++ b/crypto/crmf/crmf_lib.c
@@ -505,6 +505,12 @@ int OSSL_CRMF_MSGS_verify_popo(const OSSL_CRMF_MSGS *reqs,
ERR_raise(ERR_LIB_CRMF, CRMF_R_POPO_INCONSISTENT_PUBLIC_KEY);
return 0;
}
+
+ /*
+ * Should check at this point the contents of the authInfo sub-field
+ * as requested in FR #19807 according to RFC 4211 section 4.1.
+ */
+
it = ASN1_ITEM_rptr(OSSL_CRMF_POPOSIGNINGKEYINPUT);
asn = sig->poposkInput;
} else {
@@ -521,6 +527,12 @@ int OSSL_CRMF_MSGS_verify_popo(const OSSL_CRMF_MSGS *reqs,
return 0;
break;
case OSSL_CRMF_POPO_KEYENC:
+ /*
+ * When OSSL_CMP_certrep_new() supports encrypted certs,
+ * should return 1 if the type of req->popo->value.keyEncipherment
+ * is OSSL_CRMF_POPOPRIVKEY_SUBSEQUENTMESSAGE and
+ * its value.subsequentMessage == OSSL_CRMF_SUBSEQUENTMESSAGE_ENCRCERT
+ */
case OSSL_CRMF_POPO_KEYAGREE:
default:
ERR_raise(ERR_LIB_CRMF, CRMF_R_UNSUPPORTED_POPO_METHOD);