PROPID_M_ENCRYPTION_ALG
TOC
Collapse the table of content
Expand the table of content

PROPID_M_ENCRYPTION_ALG

 

The PROPID_M_ENCRYPTION_ALG property specifies the encryption algorithm used to encrypt the message body of a private message.

Property ID

PROPID_M_ENCRYPTION_ALG

Type Indicator

VT_UI4

MQPROPVARIANT Field

ulVal

In MSMQ 1.0, 2.0, and 3.0, this property can be set to CALG_RC2 or CALG_RC4. The default value is CALG_RC2.

In MSMQ 4.0, this property can be set to CALG_RC2, CALG_RC4, or AES. The default value is CALG_RC4.

When you send private messages, the algorithm specified by PROPID_M_ENCRYPTION_ALG is used to encrypt the body of the message (this can be done by your application or by the sending queue manager) and to decrypt the message body when it is accepted by the destination queue manager.

To set the encryption algorithm, specify PROPID_M_ENCRYPTION_ALG in the MQMSGPROPS structure and call MQSendMessage.

To retrieve the encryption algorithm, specify PROPID_M_ENCRYPTION_ALG in the MQMSGPROPS structure. Then call MQReceiveMessage or MQReceiveMessageByLookupId and examine the returned value. When retrieving this property, the type indicator can be set to VT_UI4 or VT_NULL. If you set the type indicator to VT_NULL, Message Queuing automatically changes the type indicator to VT_UI4 during the function call.

The algorithm identifiers CALG_RC2 and CALG_RC4 are defined by the ALG_ID data type in wincrypt.h.

Equivalent COM Property

With COM components, the equivalent property for setting and retrieving the encryption algorithm is MSMQMessage.EncryptAlgorithm.

For information on

See

Letting Message Queuing encrypt messages

Message Queuing-Encrypted Messages

Having your application encrypt messages

Application-Encrypted Messages

Authenticated messages

How Message Queuing Authenticates Messages

The following code fragments show how PROPID_M_ENCRYPTION_ALG is included in arrays that can be used to initialize an MQMSGPROPS structure to specify a certain encryption algorithm and to ascertain the encryption algorithm.

To Specify the Encryption Algorithm

aMsgPropID[i] = PROPID_M_ENCRYPTION_ALG ;  // Property ID
aMsgPropVar[i].vt = VT_UI4;                // Type indicator
aMsgPropVar[i].ulVal = CALG_RC4;           // Value

To Retrieve the Encryption Algorithm

aMsgPropID[i] = PROPID_M_ENCRYPTION_ALG ;  // Property ID
aMsgPropVar[i].vt = VT_NULL;               // Type indicator

The following example is included in Using Message Queuing.

For an example of

See

Sending Message Queuing-encrypted private messages

C/C++ Code Example: Requesting Encryption

Community Additions

ADD
Show:
© 2016 Microsoft