Dart
Dart
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 Dart Downloads
import 'package:chilkat/chilkat.dart';
void main() {
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
final cert = CkCert();
// 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..
try {
cert.loadPfxFile('qa_data/pfx/myCertAndKey.p12', 'password');
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
final crypt = CkCrypt2();
try {
crypt.setSigningCert(cert);
} on ChilkatException catch (e) {
print(e.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..
final textToSign = 'This is the text to be hashed and signed.';
final String sigBase64;
try {
sigBase64 = crypt.opaqueSignStringENC(textToSign);
} on ChilkatException catch (e) {
print(e.lastErrorText);
return;
}
print(sigBase64);
// The result:
// MIIS2wYJKoZIhvcNAQc ... zGeeY4Oxg==
}