code: def decrypt_message(encrypted_data, decryption_key):
      
  
      cms_content = cms.ContentInfo.load(encrypted_data)
      cipher, decrypted_content = None, None
  
      if cms_content['content_type'].native == 'enveloped_data':
          recipient_info = cms_content['content']['recipient_infos'][0].parse()
          key_enc_alg = recipient_info[
              'key_encryption_algorithm']['algorithm'].native
          encrypted_key = recipient_info['encrypted_key'].native
  
          if key_enc_alg == 'rsa':
              try:
                  key = asymmetric.rsa_pkcs1v15_decrypt(
                      decryption_key[0], encrypted_key)
              except Exception as e:
                  raise DecryptionError('Failed to decrypt the payload: '
                                        'Could not extract decryption key.')
              alg = cms_content['content']['encrypted_content_info'][
                  'content_encryption_algorithm']
  
              encapsulated_data = cms_content['content'][
                  'encrypted_content_info']['encrypted_content'].native
  
              try:
                  if alg.encryption_cipher == 'tripledes':
                      cipher = 'tripledes_192_cbc'
                      decrypted_content = symmetric.tripledes_cbc_pkcs5_decrypt(
                          key, encapsulated_data, alg.encryption_iv)
                  else:
                      raise AS2Exception('Unsupported Encryption Algorithm')
              except Exception as e:
                  raise DecryptionError(
                      'Failed to decrypt the payload: {}'.format(e))
  
      return cipher, decrypted_content
docs: Function parses an ASN.1 encrypted message and extracts/decrypts 
          the original message.
  
      :param encrypted_data: A CMS ASN.1 byte string containing the encrypted 
      data.
      
      :param decryption_key: The key to be used for decrypting the data.
  
      :return: A byte string containing the decrypted original message.