DCMTK  Version 3.6.7
OFFIS DICOM Toolkit
Public Member Functions | Static Public Member Functions | Private Member Functions | List of all members
SiSecurityProfile Class Referenceabstract

abstract base class for all security profiles. More...

+ Inheritance diagram for SiSecurityProfile:

Public Member Functions

 SiSecurityProfile ()
 default constructor
 
virtual ~SiSecurityProfile ()
 destructor
 
virtual OFBool isAllowableMACType (E_MACType macType) const =0
 checks whether the given MAC type can be used with this security profile. More...
 
virtual OFBool isAllowableMAC (const SiMAC &mac) const
 checks whether the given MAC object can be used with this security profile. More...
 
virtual OFBool isAllowableAlgorithmType (E_KeyType keyType) const =0
 checks whether the given public/private key algorithm can be used with this security profile. More...
 
virtual OFBool isAllowableAlgorithm (const SiAlgorithm &algo) const
 checks whether the given public/private key object can be used with this security profile. More...
 
virtual OFBool isAllowableTransferSyntax (E_TransferSyntax xfer) const =0
 checks whether the given transfer syntax can be used with this security profile More...
 
virtual OFBool attributeRequiredIfPresent (const DcmTagKey &key) const =0
 checks whether an attribute with the given tag is required to be signed for the current security profile if the attribute is present in the dataset More...
 
virtual OFBool attributeForbidden (const DcmTagKey &key) const =0
 checks whether an attribute with the given tag must not be signed for the current security profile. More...
 
virtual OFCondition updateAttributeList (DcmItem &item, DcmAttributeTag &tagList)
 updates the given list of attribute tags according to the requirements of the current security profile. More...
 
virtual OFCondition createAttributeList (DcmItem &item, DcmAttributeTag &tagList)
 create a maximum list of attribute tags according to the requirements of the current security profile. More...
 
virtual OFBool checkAttributeList (DcmItem &item, DcmAttributeTag &tagList)
 checks whether the given list of attribute tags fulfils the requirements of the current security profile for the given dataset. More...
 
virtual OFBool checkRequiredAttributeList (DcmAttributeTag &tagList) const =0
 checks whether all attributes that are required unconditionally to be signed in this profile are included in the given tagList. More...
 
virtual OFCondition inspectSignatureDataset (DcmItem &item)=0
 some digital signature profiles specify conditions under which certain attributes must be included into the signature. More...
 
virtual SiSignaturePurpose::E_SignaturePurposeType getOverrideSignaturePurpose () const
 return the required digital signature purpose for this signature profile More...
 
virtual OFBool mainDatasetRequired () const =0
 returns true if this signature profile only applies to main dataset level More...
 

Static Public Member Functions

static OFBool containsTag (DcmAttributeTag &tagList, const DcmTagKey &key)
 checks if the given tag key is contained in the given list. More...
 

Private Member Functions

 SiSecurityProfile (SiSecurityProfile &arg)
 private undefined copy constructor
 
SiSecurityProfileoperator= (SiSecurityProfile &arg)
 private undefined copy assignment operator
 

Detailed Description

abstract base class for all security profiles.

Remarks
this class is only available if DCMTK is compiled with OpenSSL support enabled.

Member Function Documentation

◆ attributeForbidden()

virtual OFBool SiSecurityProfile::attributeForbidden ( const DcmTagKey key) const
pure virtual

checks whether an attribute with the given tag must not be signed for the current security profile.

Parameters
keytag key to be checked
Returns
true if attribute must not be signed, false otherwise.

Implemented in SiNullProfile, and SiBaseRSAProfile.

◆ attributeRequiredIfPresent()

virtual OFBool SiSecurityProfile::attributeRequiredIfPresent ( const DcmTagKey key) const
pure virtual

checks whether an attribute with the given tag is required to be signed for the current security profile if the attribute is present in the dataset

Parameters
keytag key to be checked
Returns
true if required, false otherwise.

Implemented in SiStructuredReportingVerificationProfile, SiStructuredReportingProfile, SiNullProfile, SiCreatorProfile, SiBaseRSAProfile, and SiAuthorizationProfile.

◆ checkAttributeList()

virtual OFBool SiSecurityProfile::checkAttributeList ( DcmItem item,
DcmAttributeTag tagList 
)
virtual

checks whether the given list of attribute tags fulfils the requirements of the current security profile for the given dataset.

Parameters
itemdataset to be checked
tagListattribute tag list.
Returns
true if minimum requirements for profile are fulfilled, false otherwise.

◆ checkRequiredAttributeList()

virtual OFBool SiSecurityProfile::checkRequiredAttributeList ( DcmAttributeTag tagList) const
pure virtual

checks whether all attributes that are required unconditionally to be signed in this profile are included in the given tagList.

Parameters
taglistattribute tag list
Returns
true if requirements for profile are fulfilled, false otherwise.

Implemented in SiStructuredReportingVerificationProfile, SiStructuredReportingProfile, SiNullProfile, SiCreatorProfile, SiBaseRSAProfile, and SiAuthorizationProfile.

◆ containsTag()

static OFBool SiSecurityProfile::containsTag ( DcmAttributeTag tagList,
const DcmTagKey key 
)
static

checks if the given tag key is contained in the given list.

Parameters
tagListlist of tag keys
keytag key
Returns
true if tag key is present in list, false otherwise.

◆ createAttributeList()

virtual OFCondition SiSecurityProfile::createAttributeList ( DcmItem item,
DcmAttributeTag tagList 
)
virtual

create a maximum list of attribute tags according to the requirements of the current security profile.

For all elements present in the dataset, the attribute tag is inserted if permitted by the profile.

Parameters
itemdataset to be handled
tagListattribute tag list to be created
Returns
status code

◆ getOverrideSignaturePurpose()

virtual SiSignaturePurpose::E_SignaturePurposeType SiSecurityProfile::getOverrideSignaturePurpose ( ) const
virtual

return the required digital signature purpose for this signature profile

Returns
required signature purpose if any, ESP_none otherwise

Reimplemented in SiStructuredReportingVerificationProfile.

◆ inspectSignatureDataset()

virtual OFCondition SiSecurityProfile::inspectSignatureDataset ( DcmItem item)
pure virtual

some digital signature profiles specify conditions under which certain attributes must be included into the signature.

This method allows the signature profile to inspect the dataset in order to determine whether or not the conditions are met. This method should be called before DcmSignature::createSignature() is executed.

Parameters
itemthe dataset or item to which the signature will be added
Returns
status code

Implemented in SiStructuredReportingVerificationProfile, SiStructuredReportingProfile, SiNullProfile, SiCreatorProfile, SiBaseRSAProfile, and SiAuthorizationProfile.

◆ isAllowableAlgorithm()

virtual OFBool SiSecurityProfile::isAllowableAlgorithm ( const SiAlgorithm algo) const
virtual

checks whether the given public/private key object can be used with this security profile.

Parameters
algoobject to be checked
Returns
true if object is allowable for this profile, false otherwise.

◆ isAllowableAlgorithmType()

virtual OFBool SiSecurityProfile::isAllowableAlgorithmType ( E_KeyType  keyType) const
pure virtual

checks whether the given public/private key algorithm can be used with this security profile.

Parameters
keyTypepublic key algorithm type to be checked
Returns
true if public key algorithm is allowable for this profile, false otherwise.

Implemented in SiNullProfile, and SiBaseRSAProfile.

◆ isAllowableMAC()

virtual OFBool SiSecurityProfile::isAllowableMAC ( const SiMAC mac) const
virtual

checks whether the given MAC object can be used with this security profile.

Parameters
macmacType object to be checked
Returns
true if object is allowable for this profile, false otherwise.

◆ isAllowableMACType()

virtual OFBool SiSecurityProfile::isAllowableMACType ( E_MACType  macType) const
pure virtual

checks whether the given MAC type can be used with this security profile.

Parameters
macTypeMAC type to be checked
Returns
true if MAC type is allowable for this profile, false otherwise.

Implemented in SiNullProfile, and SiBaseRSAProfile.

◆ isAllowableTransferSyntax()

virtual OFBool SiSecurityProfile::isAllowableTransferSyntax ( E_TransferSyntax  xfer) const
pure virtual

checks whether the given transfer syntax can be used with this security profile

Parameters
xfertransfer syntax to be checked
Returns
true if transfer syntax is allowable for this profile, false otherwise.

Implemented in SiNullProfile, and SiBaseRSAProfile.

◆ mainDatasetRequired()

virtual OFBool SiSecurityProfile::mainDatasetRequired ( ) const
pure virtual

returns true if this signature profile only applies to main dataset level

Returns
OFTrue if this signature profile only applies to main dataset level, OFFalse otherwise

Implemented in SiStructuredReportingProfile, SiNullProfile, SiCreatorProfile, SiBaseRSAProfile, and SiAuthorizationProfile.

◆ updateAttributeList()

virtual OFCondition SiSecurityProfile::updateAttributeList ( DcmItem item,
DcmAttributeTag tagList 
)
virtual

updates the given list of attribute tags according to the requirements of the current security profile.

For all elements present in the dataset, the attribute tag is inserted or removed from the list if required by the profile.

Parameters
itemdataset to be handled
tagListattribute tag list to be updated
Returns
status code

The documentation for this class was generated from the following file:


Generated on Thu Apr 28 2022 for DCMTK Version 3.6.7 by Doxygen 1.9.1