constexpr std::string_view to_dicom_uid(mac_algorithm algo)
Convert mac_algorithm to DICOM UID string.
std::optional< signature_algorithm > parse_signature_algorithm(std::string_view str)
Parse signature_algorithm from string.
mac_algorithm
MAC algorithm identifiers per DICOM PS3.15.
@ sha256
SHA-256 (recommended)
constexpr auto to_string(anonymization_profile profile) noexcept -> std::string_view
Convert profile enum to string representation.
signature_status
Status of signature verification.
@ untrusted_signer
Signer certificate is not trusted.
@ no_signature
No signature present in dataset.
@ revoked
Signer certificate has been revoked.
@ valid
Signature is valid and trusted.
@ expired
Signer certificate has expired.
@ invalid
Signature verification failed (tampered data)
signature_algorithm
Signature algorithms supported for DICOM digital signatures.
@ rsa_sha512
RSA with SHA-512 (highest security)
@ ecdsa_sha256
ECDSA with SHA-256 (compact signatures)
@ ecdsa_sha384
ECDSA with SHA-384.
@ rsa_sha384
RSA with SHA-384.
@ rsa_sha256
RSA with SHA-256 (recommended for most use cases)
certificate_type
Certificate type for DICOM signatures.
@ x509_certificate
X.509 certificate (most common)
@ x509_certificate_chain
Full X.509 certificate chain.
constexpr std::string_view to_dicom_term(certificate_type type)
Convert certificate_type to DICOM defined term.
Information about a digital signature.
std::chrono::system_clock::time_point timestamp
Digital Signature DateTime (0400,0105)
std::string signature_uid
Digital Signature UID (0400,0100)
std::string certificate_thumbprint
SHA-256 thumbprint of signer certificate.
std::string signer_name
Name of the signer (extracted from certificate)
std::vector< std::uint32_t > signed_tags
List of tags that were signed.
signature_algorithm algorithm
Algorithm used for signing.
std::string signer_organization
Organization of the signer.
bool operator==(const signature_info &) const =default