@@ -389,11 +389,8 @@ void JsonPresentation::presentLoaderInfo(Writer& writer) const
389389 writer.EndObject ();
390390}
391391
392- void WriteCertificateChain (JsonPresentation::Writer& writer, const std::vector< Certificate>& certificates )
392+ void WriteCertificate (JsonPresentation::Writer& writer, const Certificate& cert )
393393{
394- writer.StartArray ();
395- for (auto && cert : certificates)
396- {
397394 writer.StartObject ();
398395 serializeString (writer, " subject" , cert.getRawSubject ());
399396 serializeString (writer, " issuer" , cert.getRawIssuer ());
@@ -452,6 +449,14 @@ void WriteCertificateChain(JsonPresentation::Writer& writer, const std::vector<C
452449 writer.EndObject ();
453450
454451 writer.EndObject ();
452+ }
453+
454+ void WriteCertificateChain (JsonPresentation::Writer& writer, const std::vector<Certificate>& certificates)
455+ {
456+ writer.StartArray ();
457+ for (auto && cert: certificates)
458+ {
459+ WriteCertificate (writer, cert);
455460 }
456461 writer.EndArray ();
457462}
@@ -461,7 +466,8 @@ void WriteSigner(JsonPresentation::Writer& writer, const Signer& signer)
461466 writer.StartObject ();
462467 writer.String (" warnings" );
463468 writer.StartArray ();
464- for (auto && warn : signer.warnings ) {
469+ for (auto && warn: signer.warnings )
470+ {
465471 writer.String (warn);
466472 }
467473 writer.EndArray ();
@@ -472,12 +478,19 @@ void WriteSigner(JsonPresentation::Writer& writer, const Signer& signer)
472478
473479 serializeString (writer, " digestAlgorithm" , signer.digestAlgorithm );
474480
481+ if (!signer.chain .empty ())
482+ {
483+ writer.String (" certificate" );
484+ WriteCertificate (writer, signer.chain [0 ]);
485+ }
486+
475487 writer.String (" chain" );
476488 WriteCertificateChain (writer, signer.chain );
477489
478490 writer.String (" counterSigners" );
479491 writer.StartArray ();
480- for (auto && csigner : signer.counterSigners ) {
492+ for (auto && csigner: signer.counterSigners )
493+ {
481494 WriteSigner (writer, csigner);
482495 }
483496 writer.EndArray ();
0 commit comments