A Digital Signature is a cryptographic hash of all or part of a design file, plus a digital ID that identifies the signer. More...
Classes | |
struct | DigitalSignatureCellHeaderHandler |
Provides access to digital signatures in a DGN file. More... | |
struct | DigitalSignatureIterator |
Iterator over digital signature cell elements. More... | |
struct | FileSignatureCollection |
The collection of all digital signatures in a file that have file-wide scope. More... | |
struct | ModelSignatureCollection |
The collection of all digital signatures in a model that are scoped to that model. More... | |
struct | ApplicableSignaturesCollection |
The collection of all signatures that apply to the content viewed through a specified model. More... | |
A Digital Signature is a cryptographic hash of all or part of a design file, plus a digital ID that identifies the signer.
A digital ID is a public key, a digital certificate, or a PKCS7 certificate chain. The DgnPlatform does not create or manage digital IDs (PKI) or private keys. The DgnPlatform API is based on open standards to take and return information about digital IDs. The DgnPlatform relies on Microsoft Windows to access private keys.
The scope of a digital signature can include an entire DGN file, a single model in a DGN file, or a model and the content of all models referenced into it.
A design file can contain one or more digital signatures. Multiple users can sign the same file or model. Or, different users can sign different parts of a DGN file. Signatures can be created in a hierarchy, with one signature including others as part of the content that it signs.
Call DgnFile::GetSignatureCount to check if a file contains any signatures at all. This is a very inexpensive test.