Note that there are some explanatory texts on larger screens.

plurals
  1. POS/Mime Encrypting a string
    primarykey
    data
    text
    <p>I have been tasked with encrypting a string using S/Mime encryption. Eons ago, the firm I work for bought a component for this (from IPWorks) but we have had untold bundles of grief getting their component to play nicely on our servers. Not a functionality issue, more licensing.</p> <p>So in short, I must do it myself. I have trawled the MSDN and forums and put together the following code. Unfortunately the output it creates is not what I expect. Lots of Korean and special characters that I would not expect.</p> <pre><code>public string EncryptString(string toEncrypt, string key) { // Convert the body to bytes byte[] bodyBytes = Encoding.ASCII.GetBytes(toEncrypt); // Encrypt the body var envelopedCms = new EnvelopedCms(new ContentInfo(bodyBytes)); var certificate = new X509Certificate2(Encoding.ASCII.GetBytes(key)); var recipient = new CmsRecipient(certificate); envelopedCms.Encrypt(recipient); byte[] encryptedBytes = envelopedCms.Encode(); var msg = new MailMessage(); var ms = new MemoryStream(encryptedBytes); var av = new AlternateView(ms, "application/pkcs7-mime; smime-type=enveloped-data;name=smime.p7m; content-transfer-encoding=Base64; content-disposition=attachment; fileName=smime.p7m;"); msg.AlternateViews.Add(av); return new StreamReader(msg.AlternateViews[0].ContentStream).ReadToEnd(); } </code></pre> <p>Can anyone see an obvious blunder here?</p> <p>I am not "married" to this code so if you have an alternate suggestion to how I might do this fire away.</p> <p>Kindness and thanks,</p> <p>Dan</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload