Skip to content

docs: add XML documentation for CMS SignedData generator (Batch 12a-3)#686

Open
KonradSop wants to merge 1 commit into
bcgit:masterfrom
KonradSop:feature/cms-signed-data-docs
Open

docs: add XML documentation for CMS SignedData generator (Batch 12a-3)#686
KonradSop wants to merge 1 commit into
bcgit:masterfrom
KonradSop:feature/cms-signed-data-docs

Conversation

@KonradSop

Copy link
Copy Markdown
Contributor

Description

Adds XML documentation to CmsSignedDataGenerator — the primary entry point for creating CMS
SignedData (PKCS#7 signed-data) messages:

  • Class summary — describes the Generate workflow and relationship to CmsSignedGenerator.
  • Constructors — default and SecureRandom overload.
  • AddSigner overloads — all four families documented (certificate vs subject key id; default
    attributes vs AttributeTable vs CmsAttributeTableGenerator; inferred vs explicit encryption OID).
  • AddSignerInfoGenerator — documents the SignerInfoGenerator integration path.
  • Generate overloads — documents encapsulated vs detached content and explicit content type OID;
    <exception cref="CmsException"/> on paths that catch and rethrow signing/encoding failures.
  • GenerateCounterSigners — documents counter-signature generation.
  • UseDefiniteLength — documents DL encoding preference.

Legacy /** block comments converted to XML. One pre-existing commented line wrapped to ≤120 characters.

Key Accomplishments

  • CMS signing discoverability: IDE tooltips now cover the full public generator surface used with
    AddCertificates / AddCrls from the base class.
  • Accurate exception contracts: CmsException documented only on Generate and
    GenerateCounterSigners where the implementation wraps failures.
  • Consistent style: matches Batch 12a-1/12a-2 documentation conventions.
  • No overlap with open PRs: single file, disjoint from docs: add XML documentation for X.509 certificate and CRL generators (Batch 12a-1) #684 and 12a-2.

Verification

  • Build Status: dotnet build crypto/src/BouncyCastle.Crypto.csproj -c Release — 0 errors, no new warnings.
  • Scope: Documentation-only; no behavioural or signature changes.

Checklist before requesting a review

  • I have performed a self-review of my code
  • I have kept the patch limited to only change the parts related to the patch
  • This change requires a documentation update

See also Contributing Guidelines.

Document CmsSignedDataGenerator: class summary, constructors, all AddSigner
overload families, AddSignerInfoGenerator, Generate overloads,
GenerateCounterSigners and UseDefiniteLength. Converts legacy block comments
to XML with accurate CmsException contracts on generation paths. Wrap a
pre-existing commented line to the 120-character limit. No behavioural changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant