L_DicomGetSignedElement

#include "ltdic.h"

pDICOMELEMENT EXT_FUNCTION L_DicomGetSignedElement(hDS, pSignatureItem, uIndex)

HDICOMDS hDS;

/* a DICOM handle */

pDICOMELEMENT pSignatureItem;

/* pointer to a Digital Signatures Sequence Item */

L_UINT32 uIndex;

/* index of the signed Data Element */

Returns a pointer to the signed Data Element at the specified index.

Parameter

Description

hDS

A DICOM handle.

pSignatureItem

Pointer to a DICOMELEMENT structure that specifies the Digital Signatures Sequence Item which corresponds to the Digital Signature. This cannot be NULL.

uIndex

Value that represents the index of the required signed Data Element. This should be a number from 0 to L_DicomGetSignedElementsCount(pSignatureItem) minus 1.

Returns

Pointer to the DICOMELEMENT structure that specifies the required signed Data Element. The return value can be NULL (e.g., if the specified index is invalid).

Comments

The Digital Signatures Sequence Item of a Digital Signature should reference an Item under the Message Authentication Code (MAC) Parameters Sequence associated with the Digital Signatures Sequence. The Data Elements Signed (0400,0020) under the referenced MAC Parameters Sequence Item specifies the Tags of the Data Elements covered by the Digital Signature. These Data Elements should be located at the same level as the MAC Parameters Sequence and the Digital Signatures Sequence.

The L_DicomGetSignedElementsCount function returns the number of signed Data Elements as specified by the Data Elements Signed (0400,0020). The L_DicomGetSignedElement function searches the level at which the MAC Parameters Sequence appears for the Data Element with the Tag determined by the passed index and returns a pointer to the Data Element if it does exist; if it doesn’t exist, the function returns NULL.

Note: In addition to the Data Elements specified by the Data Elements Signed (0400,0020), certain Data Elements under the Digital Signatures Sequence Item are always covered by the Digital Signature.

The following functions can also be used to get information about the Digital Signature:

L_DicomGetSignatureUID

L_DicomGetSignatureDateTime

L_DicomGetMacTransferSyntax

L_DicomGetMacAlgorithm

L_DicomSaveCertificate

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

See Also

Functions:

L_DicomGetSignedElementsCount, L_DicomGetSignature, L_DicomFindSignature, L_DicomGetSignatureUID, L_DicomGetSignatureDateTime, L_DicomGetMacTransferSyntax, L_DicomGetMacAlgorithm, L_DicomSaveCertificate

Topics:

Working with Digital Signatures

Example

For an example, refer to L_DicomVerifySignature.