Sample code for 30+ languages & platforms
C#

PKCS7 Sign Text using RSA 2048, SHA256, Base64 Output

See more Digital Signatures Examples

Demonstrates how to sign text using 2048-bit RSA with SHA256, producing PKCS#7 output in Base64. The certificate w/ private key used for signing is loaded from a .p12/.pfx file.

Chilkat C# Downloads

C#
bool success = false;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Chilkat.Cert cert = new Chilkat.Cert();

// Load the cert and private key.  Whatever the private key happens to be,
// such as RSA or ECC, then Chilkat will use it.  If the private key is 
// a 2048-bit RSA key, then that's what will be used..
success = cert.LoadPfxFile("qa_data/pfx/myCertAndKey.p12","password");
if (success != true) {
    Debug.WriteLine(cert.LastErrorText);
    return;
}

Chilkat.Crypt2 crypt = new Chilkat.Crypt2();

success = crypt.SetSigningCert(cert);
if (success != true) {
    Debug.WriteLine(crypt.LastErrorText);
    return;
}

// Use SHA-256
crypt.HashAlgorithm = "sha256";

// Hash the utf-8 byte representation of the string
crypt.Charset = "utf-8";

// Return the result in base64
crypt.EncodingMode = "base64";

// Sign some text..
string textToSign = "This is the text to be hashed and signed.";
string sigBase64 = crypt.OpaqueSignStringENC(textToSign);
if (crypt.LastMethodSuccess != true) {
    Debug.WriteLine(crypt.LastErrorText);
    return;
}

Debug.WriteLine(sigBase64);

// The result:
// MIIS2wYJKoZIhvcNAQc ... zGeeY4Oxg==