@@ -55,6 +55,11 @@ pub async fn accept(
5555 info. human_handle ( )
5656 . context ( "Missing human handle from submitter certificate" )
5757 } ) ?;
58+ let accepter_intermediate_certs =
59+ libparsec_platform_pki:: get_intermediate_certs_for_cert ( accepter_cert_ref, DateTime :: now ( ) )
60+ . map_err ( anyhow:: Error :: from)
61+ . context ( "Failed to get intermediate certificates for itself" )
62+ . map_err ( PkiEnrollmentAcceptError :: PkiOperationError ) ?;
5863
5964 loop {
6065 let outcome = accept_internal (
@@ -64,6 +69,7 @@ pub async fn accept(
6469 Accepter {
6570 cert_ref : accepter_cert_ref,
6671 der_cert : & accepter_der_x509_certificate,
72+ intermediate_der_certs : & accepter_intermediate_certs,
6773 } ,
6874 Submitter {
6975 payload : submit_payload. clone ( ) ,
@@ -89,6 +95,7 @@ pub async fn accept(
8995struct Accepter < ' a > {
9096 cert_ref : & ' a X509CertificateReference ,
9197 der_cert : & ' a [ u8 ] ,
98+ intermediate_der_certs : & ' a [ Bytes ] ,
9299}
93100
94101struct Submitter {
@@ -131,8 +138,7 @@ async fn accept_internal(
131138 . send ( Req {
132139 enrollment_id,
133140 accepter_der_x509_certificate : Bytes :: copy_from_slice ( accepter. der_cert ) ,
134- // TODO: https://github.com/Scille/parsec-cloud/issues/11671
135- accepter_intermediate_der_x509_certificates : vec ! [ ] ,
141+ accepter_intermediate_der_x509_certificates : accepter. intermediate_der_certs . to_vec ( ) ,
136142 payload,
137143 payload_signature : payload_signature. signature ,
138144 payload_signature_algorithm : payload_signature. algo ,
0 commit comments