a class that allows to feed selected parts of a DICOM dataset into the MAC generation code
More...
Public Member Functions |
|
| SiMACConstructor () |
| | constructor
|
|
virtual | ~SiMACConstructor () |
| | destructor
|
| OFCondition | encodeDataset (DcmItem &item, SiMAC &mac, E_TransferSyntax oxfer, DcmAttributeTag &tagListOut, DcmAttributeTag *tagListIn=NULL) |
| | encodes a DICOM dataset (or parts of it) as a byte stream in the format required for DICOM digital signatures and feeds the byte stream into the given MAC codec.
|
| OFCondition | encodeDigitalSignatureItem (DcmItem &signatureItem, SiMAC &mac, E_TransferSyntax oxfer) |
| | encodes the contents of the digital signature sequence except CertificateOfSigner, Signature, CertifiedTimestampType and CertifiedTimestamp as a byte stream in the format required for DICOM digital signatures and feeds the byte stream into the given MAC codec.
|
| OFCondition | flush (SiMAC &mac) |
| | flushes all buffers inside this object, finalizing the MAC code
|
| void | setDumpFile (FILE *f) |
| | dump all data that is fed into the MAC algorithm into the given file, which must be opened and closed by caller.
|
Private Attributes |
|
unsigned char * | buf |
| | the buffer to which data is written
|
|
DcmOutputBufferStream | stream |
| | the internal buffer stream
|
|
FILE * | dumpFile |
| | if nonzero, the data fed to the MAC algorithm is also stored in this file.
|
Detailed Description
a class that allows to feed selected parts of a DICOM dataset into the MAC generation code
Definition at line 52 of file simaccon.h.
Member Function Documentation
encodes a DICOM dataset (or parts of it) as a byte stream in the format required for DICOM digital signatures and feeds the byte stream into the given MAC codec.
If a dump file was set with setDumpFile(), the byte stream is written to file as well.
- Parameters
-
| item | the DICOM dataset to be encoded |
| mac | the MAC codec into which the resulting byte stream is fed |
| oxfer | the transfer syntax to be used when encoding the dataset. The caller might wish to use DcmItem::canWriteXfer() to check beforehand whether this transfer syntax can be used. |
| tagListOut | upon return this parameter contains the list of attribute tags which were fed into the MAC codec. For sequences, only the sequence attribute tag is contained in this list; the items and elements within the items are not encoded. |
| tagListIn | optional parameter restricting the parts of the dataset to be encoded. Only elements which are present in this list of tags, which are signable (see DcmTagKey::isSignable()) and are present in the dataset are encoded. Upon verification of a signature the caller might wish to compare tagListIn and tagListOut after successful return to see whether the lists of attributes are the same. If parameter is absent or NULL, a global match is assumed, i.e. all elements of the dataset which are present and signable are encoded. |
- Returns
- status code
| OFCondition SiMACConstructor::encodeDigitalSignatureItem |
( |
DcmItem & |
signatureItem, |
|
|
SiMAC & |
mac, |
|
|
E_TransferSyntax |
oxfer |
|
) |
| |
encodes the contents of the digital signature sequence except CertificateOfSigner, Signature, CertifiedTimestampType and CertifiedTimestamp as a byte stream in the format required for DICOM digital signatures and feeds the byte stream into the given MAC codec.
If a dump file was set with setDumpFile(), the byte stream is written to file as well.
- Parameters
-
| signatureItem | the DICOM digital signature item to be encoded |
| mac | the MAC codec into which the resulting byte stream is fed |
| oxfer | the transfer syntax to be used when encoding the dataset. The caller might wish to use DcmItem::canWriteXfer() to check beforehand whether this transfer syntax can be used. |
- Returns
- status code
feeds a DcmElement into the MAC data stream if is signable.
If the element is a sequence, all signable elements from all items are added.
- Parameters
-
| element | pointer to element, must not be NULL |
| mac | MAC to use |
| oxfer | transfer syntax in which data is encoded |
- Returns
- status code
flushes all buffers inside this object, finalizing the MAC code
- Parameters
-
| mac | the MAC codec into which the resulting byte stream is fed |
- Returns
- status code
flushes the internal buffer to the given MAC and to dumpFile if open
- Parameters
-
| mac | MAC to which the buffer content is added |
- Returns
- error code from MAC
checks whether the attribute tag of the given DcmElement is contained in the given list of tags.
If the list is absent (NULL), a universal match is assumed, i.e. always returns true if element is nonzero. Does not check whether an element is signable.
- Parameters
-
| element | pointer to element to check |
| tagList | pointer to list of attribute tags, may be NULL |
- Returns
- true if attribute is in tag list, false otherwise
| void SiMACConstructor::setDumpFile |
( |
FILE * |
f | ) |
|
dump all data that is fed into the MAC algorithm into the given file, which must be opened and closed by caller.
- Parameters
-
| f | pointer to file already opened for writing; may be NULL. |
The documentation for this class was generated from the following file: