Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
Create PKCS7 Detached Signature (S/MIME)Create an S/MIME message with a PKCS7 detached signature. <?php $mime = new COM("Chilkat.Mime"); $success = $mime->UnlockComponent('Anything for 30-day trial'); if ($success == false) { print $mime->lastErrorText() . "\n"; exit; } // Load a certificate w/ private key for signing. // There are many ways of getting a certificate object: // from a pfx file, from .cer and private-key files, from the // Windows registry-based certificate stores, etc. // For this example, we'll use a pre-installed cert from // a certificate store. $cert = new COM("Chilkat.Cert"); $success = $cert->LoadByCommonName('Chilkat Software, Inc.'); if ($success == false) { print $cert->lastErrorText() . "\n"; exit; } // Create a very simple MIME message to be signed: $mime->AddHeaderField('Subject','This is a test'); $mime->AddHeaderField('MyCustomHeader','abc123'); $mime->ContentType = 'text/plain'; $mime->SetBody('This is a plain-text body.'); // Examine the MIME prior to signing: print '--- MIME prior to signing ---' . "\n"; print $mime->getMime() . "\n"; // The MIME prior to signing looks like this: // ------------------------------------------------------------------------------- // Subject: This is a test MyCustomHeader: abc123 Content-Type: text/plain This is a plain-text body. // ------------------------------------------------------------------------------- // The default hash algorithm used in the signing process is "SHA1". // To change it, set the SigningHashAlg property: $mime->SigningHashAlg = 'SHA256'; // Add a detached signature: $success = $mime->AddDetachedSignature($cert); if ($success == false) { print $mime->lastErrorText() . "\n"; exit; } // Examine the MIME with detached signature: print '--- MIME with detached signature ---' . "\n"; print $mime->getMime() . "\n"; // The MIME after signing looks like this: // ------------------------------------------------------------------------------- // Content-Type: multipart/signed; boundary="----=_NextPart_a66_7f43_247e22d0.a03166d5"; protocol="application/x-pkcs7-signature"; micalg="sha256" This is a multi-part message in MIME format. ------=_NextPart_a66_7f43_247e22d0.a03166d5 Subject: This is a test MyCustomHeader: abc123 Content-Type: text/plain This is a plain-text body. ------=_NextPart_a66_7f43_247e22d0.a03166d5 Content-Transfer-Encoding: base64 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" MIIOAQYJKoZIhvcNAQcCoIIN8jCCDe4CAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg ggmgMIIEZjCCA06gAwIBAgIQRL4Mi1AAJLQR0zYt4LNfGzANBgkqhkiG9w0BAQUFADCBlTELMAkG A1UEBhMCVVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMV VGhlIFVTRVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20x HTAbBgNVBAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0MB4XDTk5MDcwOTE4MzEyMFoXDTE5MDcwOTE4 NDAzNlowgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtlIENp dHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3dy51 c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdDCCASIwDQYJKoZIhvcN AQEBBQADggEPADCCAQoCggEBAM6qgT+jo2F4qjEAVZURnicPHxzfOpuCaDDASmEd8S8O+r5596Uj 71VRloTN2+O5bj4x2AogZ8f02b+U60cEPgLOKqJdhwQJ9jCdGIqXsqoc/EHSoTbL+z2RuufZcDX6 5OeQw5ujm9M89RKZd7G3CeBo5hy485RjiGpq/gt2yb70IuRnuasaXnfBhQfdDWy/7gbHd2pBnqcP 1/vulBe3/IW+pKvEHDHd17bR5PDv3xaPslKT16HUiaEHLr/hARJCHhrh2JU022R5KP+6LhHC5ehb kkj7RwvCbNqtMoNB86XlQXD9ZZBt+vpRxPm9lisZBCzTbafc8H9vg2XiaquHhnUCAwEAAaOBrzCB rDALBgNVHQ8EBAMCAcYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU2u1kdBScFDyr3ZmpvVso TYs8ydgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDovL2NybC51c2VydHJ1c3QuY29tL1VUTi1VU0VS Rmlyc3QtT2JqZWN0LmNybDApBgNVHSUEIjAgBggrBgEFBQcDAwYIKwYBBQUHAwgGCisGAQQBgjcK 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 9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xMDA2MzAxNDM1MDVaMC8GCSqGSIb3 DQEJBDEiBCCxBV6qxW6f5dFzicso1tSCYYycSWjoS1JWU3PFXGm1TDBfBgkqhkiG9w0BCQ8xUjBQ MAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAw BwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgbwGCSsGAQQBgjcQBDGBrjCBqzCBlTELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAlVUMRcwFQYDVQQHEw5TYWx0IExha2UgQ2l0eTEeMBwGA1UEChMVVGhlIFVT RVJUUlVTVCBOZXR3b3JrMSEwHwYDVQQLExhodHRwOi8vd3d3LnVzZXJ0cnVzdC5jb20xHTAbBgNV BAMTFFVUTi1VU0VSRmlyc3QtT2JqZWN0AhEA5vxolKNrYgp1Z7ABICdK+zCBvgYLKoZIhvcNAQkQ Agsxga6ggaswgZUxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJVVDEXMBUGA1UEBxMOU2FsdCBMYWtl IENpdHkxHjAcBgNVBAoTFVRoZSBVU0VSVFJVU1QgTmV0d29yazEhMB8GA1UECxMYaHR0cDovL3d3 dy51c2VydHJ1c3QuY29tMR0wGwYDVQQDExRVVE4tVVNFUkZpcnN0LU9iamVjdAIRAOb8aJSja2IK dWewASAnSvswDQYJKoZIhvcNAQEBBQAEggEABegieec25qysV6YJ9YSLrTPHLwX1+JUJjK3N7fH5 uLhH7HTEMkpXllgZcvg8Qvcyk2uAsVZZeFCtSYmBIT8kuuRXov7lo/V3sBhkoVF5pMS/T/fxuaJX Ez3Zr8MbrlOMZVgbdvSkrk/TSSID48kV0pQBNGQs82ZVs88R1g5Vg5E7K+5xgV6bh2KAbCo8QbLJ 75djbYbkoCRMHuJ5k2iaUErAmrhoaClcRofzZcCVMqGxqeipPOjjJXXPTbq0lcVoedSsuwqCcoXi CCzo73C9H9RayPTn2QfxihpLBS8xbd2eFIGqi4UzL6yIJUyMxgGvbp/Ax7KxkhCWl+GGL0OWJg== ------=_NextPart_a66_7f43_247e22d0.a03166d5-- // ------------------------------------------------------------------------------- ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.