2010-12-03 4 views
0
public byte[] DoEncrypt(string message, X509Certificate2 cryptCert) 
    { 
     byte[] signedBytes = new System.Text.UTF8Encoding().GetBytes(message); 
     EnvelopedCms encryptedMessage = new EnvelopedCms(new ContentInfo(signedBytes)); 

     CmsRecipientCollection recipients = new CmsRecipientCollection(); 

      CmsRecipient recipient = new CmsRecipient(cryptCert); 
      recipients.Add(recipient); 


     encryptedMessage.Encrypt(recipient); 

     return encryptedMessage.Encode(); 
    } 

を暗号化する際に「無効な暗号メッセージタイプ」エラー私のアプリケーションは、それが例外「encryptedMessage.RecipientInfosは、」タイプ「System.Security.Cryptography.CryptographicExceptionの例外を投げたスローメッセージを暗号化しようとすると(暗号化されたメッセージの種類が無効です) "というメッセージが表示されるASP.Net:メッセージ

答えて

0

実際に署名されたデータを暗号化する場合(変数名が示唆するように)、デフォルトのコンテンツタイプは使用しないでください。あなたのContentInfo。代わりに、signedDataコンテンツタイプを指定できるalternative constructorを使用する必要があります。

+0

ありがとうございましたRasmusが大変ありがとうございます –

関連する問題