L_DicomGetMacAlgorithm

#include "ltdic.h"

L_CHAR * EXT_FUNCTION L_DicomGetMacAlgorithm(hDS,pSignatureItem)

HDICOMDS hDS;

/* a DICOM handle */

pDICOMELEMENT pSignatureItem;

/* pointer to a

Digital Signatures Sequence Item */

Returns the Message Authentication Code (MAC) Algorithm (0400,0015) used in the creation of the specified Digital Signature.

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.

Returns

The MAC Algorithm (0400,0015) used in the creation of the specified Digital Signature. The return value can be NULL. Currently, the possible values are:

 

Value

Meaning

 

RIPEMD160

The MAC Algorithm used is the RACE Integrity Primitives Evaluation (RIPEMD160) algorithm, a 160-bit cryptographic hash function.

 

SHA1

The MAC Algorithm used is the Secure Hash Algorithm (SHA1), a 160-bit cryptographic hash function.

 

MD5

The MAC Algorithm used is the Message Digest – 5 (MD5) algorithm, which takes as input a message of arbitrary length and produces a 128-bit "message digest".

Comments

The Digital Signatures Sequence Item of a Digital Signature should reference an Item under the MAC Parameters Sequence associated with the Digital Signatures Sequence. The MAC Algorithm (0400,0015) under the referenced MAC Parameters Sequence Item specifies the algorithm used in generating the Message Authentication Code (MAC). The encrypted MAC is the digital signature itself. You can use this function to obtain the value of this Data Element: the expected values are: "RIPEMD160", "SHA1", and "MD5".

In addition to this function, the following functions can be used to get information about the Digital Signature:

L_DicomGetSignatureUID

L_DicomGetSignatureDateTime

L_DicomGetSignedElementsCount

L_DicomGetSignedElement

L_DicomGetMacTransferSyntax

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_DicomGetSignature, L_DicomFindSignature, L_DicomGetSignatureUID, L_DicomGetSignatureDateTime, L_DicomGetSignedElementsCount, L_DicomGetSignedElement, L_DicomGetMacTransferSyntax, L_DicomSaveCertificate

Topics:

Working with Digital Signatures

Example

For an example, refer to L_DicomVerifySignature.