<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="Function: smime_sign - Virtuoso Functions Guide" /> <meta name="dc.subject" content="Function: smime_sign - Virtuoso Functions Guide" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="functions.html" title="Chapter Contents" /> <link rel="prev" href="appendixa.html" title="Appendix" /> <link rel="next" href="functions.html#.html" title="" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>Function: smime_sign - Virtuoso Functions Guide</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="fn_smime_sign" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>22. Virtuoso Functions Guide - smime_sign</h1> </div> <div id="navbartop"> <div> <a class="link" href="functions.html">Chapter Contents</a> | <a class="link" href="fn_pop3_get.html" title="pop3_get">Prev</a> | <a class="link" href="fn_smime_verify.html" title="smime_verify">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div> <a class="selected" href="functions.html">Virtuoso Functions Guide</a> </div> <br /> <div> <a href="functions.html#admin">Administration</a> </div> <div> <a href="functions.html#aggr">Aggregate Functions</a> </div> <div> <a href="functions.html#array">Array Manipulation</a> </div> <div> <a href="functions.html#bpel">BPEL APIs</a> </div> <div> <a href="functions.html#backup">Backup</a> </div> <div> <a href="functions.html#compression">Compression</a> </div> <div> <a href="functions.html#cursors">Cursor</a> </div> <div> <a href="functions.html#time">Date & Time Manipulation</a> </div> <div> <a href="functions.html#debug">Debug</a> </div> <div> <a href="functions.html#dict">Dictionary Manipulation</a> </div> <div> <a href="functions.html#encoding">Encoding & Decoding</a> </div> <div> <a href="functions.html#file">File Manipulation</a> </div> <div> <a href="functions.html#ft">Free Text</a> </div> <div> <a href="functions.html#hash">Hashing / Cryptographic</a> </div> <div> <a href="functions.html#ldap">LDAP</a> </div> <div> <a href="functions.html#localization">Locale</a> </div> <div> <a class="selected" href="functions.html#mail">Mail</a> </div> <div class="selected"> <div> <a href="fn_mime_body.html">mime_body</a> </div> <div> <a href="fn_mime_part.html">mime_part</a> </div> <div> <a href="fn_mime_tree.html">mime_tree</a> </div> <div> <a href="fn_nntp_auth_get.html">nntp_auth_get</a> </div> <div> <a href="fn_nntp_auth_post.html">nntp_auth_post</a> </div> <div> <a href="fn_nntp_get.html">nntp_get</a> </div> <div> <a href="fn_nntp_post.html">nntp_post</a> </div> <div> <a href="fn_pem_certificates_to_array.html">pem_certificates_to_...</a> </div> <div> <a href="fn_pop3_get.html">pop3_get</a> </div> <div> <a href="fn_smime_decrypt.html">smime_decrypt</a> </div> <div> <a href="fn_smime_encrypt.html">smime_encrypt</a> </div> <div> <a class="selected" href="fn_smime_sign.html">smime_sign</a> </div> <div> <a href="fn_smime_verify.html">smime_verify</a> </div> <div> <a href="fn_smtp_send.html">smtp_send</a> </div> <div> <a href="fn_uuvalidate.html">uuvalidate</a> </div> </div> <div> <a href="functions.html#misc">Miscellaneous</a> </div> <div> <a href="functions.html#number">Number</a> </div> <div> <a href="functions.html#phrz">Phrases</a> </div> <div> <a href="functions.html#rdf">RDF data</a> </div> <div> <a href="functions.html#rmt">Remote SQL Data Source</a> </div> <div> <a href="functions.html#repl">Replication</a> </div> <div> <a href="functions.html#soap">SOAP</a> </div> <div> <a href="functions.html#sql">SQL</a> </div> <div> <a href="functions.html#string">String</a> </div> <div> <a href="functions.html#txn">Transaction</a> </div> <div> <a href="functions.html#type">Type Mapping</a> </div> <div> <a href="functions.html#uddi">UDDI</a> </div> <div> <a href="functions.html#udt">User Defined Types & The CLR</a> </div> <div> <a href="functions.html#vad">VAD</a> </div> <div> <a href="functions.html#jvmpl">Virtuoso Java PL API</a> </div> <div> <a href="functions.html#bif">Virtuoso Server Extension Interface (VSEI)</a> </div> <div> <a href="functions.html#ws">Web & Internet</a> </div> <div> <a href="functions.html#xml">XML</a> </div> <div> <a href="functions.html#XPATH">XPATH & XQUERY</a> </div> <br /> <div> <a href="functionidx.html">Functions Index</a> </div> <br /> </div> <div id="text"> <h2>smime_sign</h2> <div class="refpurpose">Converts a MIME message to a signed S/MIME message</div> <div class="funcsynopsis"> <span class="funcdef">varchar <span class="function">smime_sign</span> </span> (<span class="paramdef">in <span class="parameter">msg_text</span> varchar</span>, <span class="paramdef">in <span class="parameter">signer_cert</span> varchar</span>, <span class="paramdefoptional">[in <span class="optional">private_key</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">private_key_pass</span> varchar]</span>, <span class="paramdefoptional">[in <span class="optional">signer_CA_certs</span> any]</span>, <span class="paramdefoptional">[in <span class="optional">flags</span> integer]</span>); </div> <div class="refsect1"> <div class="refsect1title">Description</div> <p>Converts a MIME message to a signed S/MIME message.</p> </div> <div class="refsect1"> <div class="refsect1title">Parameters</div> <div class="refsect2"> <span class="refsect2title">msg_text – </span> The text of the message</div> <div class="refsect2"> <span class="refsect2title">signer_cert – </span> Signer certificate.</div> <div class="refsect2"> <span class="refsect2title">private_key – </span> Private Key</div> <div class="refsect2"> <span class="refsect2title">private_key_pass – </span> Private Key Pass</div> <div class="refsect2"> <span class="refsect2title">signer_CA_certs – </span> Array of strings of CA Certificates</div> <div class="refsect2"> <span class="refsect2title">flags – </span> <table class="data"> <caption>Table: 22.1. Bits defined in flags</caption> <tr> <th class="data">Mask</th> <th class="data">Name</th> <th class="data">Description</th> </tr> <tr> <td class="data">0x1</td> <td class="data">PKCS7_TEXT</td> <td class="data">add a text/plain content type MIME header</td> </tr> <tr> <td class="data">0x2</td> <td class="data">PKCS7_NOCERTS</td> <td class="data">do not put the signer_CA_certs into the generated PKCS7 signature</td> </tr> <tr> <td class="data">0x40</td> <td class="data">PKCS7_DETACHED</td> <td class="data">do multipart/signed message</td> </tr> <tr> <td class="data">0x80</td> <td class="data">PKCS7_BINARY</td> <td class="data">do not canonize the line endings to CR/LF</td> </tr> <tr> <td class="data">0x100</td> <td class="data">PKCS7_NOATTR</td> <td class="data">Do not include attributes (signing time, supported symmetric algorithms, etc.)</td> </tr> <tr> <td class="data">0x200</td> <td class="data">PKCS7_NOSMIMECAP</td> <td class="data">no SMIME capabilities attributes</td> </tr> </table> <br /> </div> </div> <div class="refsect1"> <div class="refsect1title">Return Types</div> <p>This function takes a message and converts it to an S/MIME signed message based on the flags value (if supplied - default PKCS7_DETACHED). </p> </div> <div class="refsect1"> <div class="refsect1title">Examples</div> <a name="ex_smime_verify" /> <div class="example"> <div class="exampletitle">Signing a MIME Message</div> <p>Example (where signed.eml contains the output from smime_sign.</p> <div> <pre class="programlisting"> select smime_sign ('just a test', file_to_string ('thwate_pub.pem'), file_to_string ('thwate_pri.pem'), 'very_secret_password', vector (file_to_string ('thwate_ca.pem')), 4*16 + 1); _______________________________________________________________________________ MIME-Version: 1.0 Content-Type: multipart/signed ; protocol="application/x-pkcs7-signature" ; micalg=sha1 ; boundary="----23F1D9057532E126962121287FDB4793" This is an S/MIME signed message ------23F1D9057532E126962121287FDB4793 Content-Type: text/plain just a test ------23F1D9057532E126962121287FDB4793 Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" MIILaAYJKoZIhvcNAQcCoIILWTCCC1UCAQExCzAJBgUrDgMCGgUAMAsGCSqGSIb3 DQEHAaCCCTswggLZMIICQqADAgECAgMD2DgwDQYJKoZIhvcNAQEEBQAwgZIxCzAJ BgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQBgNVBAcTCUNhcGUg VG93bjEPMA0GA1UEChMGVGhhd3RlMR0wGwYDVQQLExRDZXJ0aWZpY2F0ZSBTZXJ2 aWNlczEoMCYGA1UEAxMfUGVyc29uYWwgRnJlZW1haWwgUlNBIDIwMDAuOC4zMDAe Fw0wMDEyMjIwODM1MjFaFw0wMTEyMjIwODM1MjFaMHkxHzAdBgNVBAMTFlRoYXd0 ZSBGcmVlbWFpbCBNZW1iZXIxLjAsBgkqhkiG9w0BCQEWH2tnZW9yZ2VAcGxvdmRp di50ZWNobm8tbGluay5jb20xJjAkBgkqhkiG9w0BCQEWF2drb2Rpbm92QG9wZW5s aW5rLmNvLnVrMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDTOklS3QEDt2Pm vtNOK5Zi7PPn9U2EDmdjoCjKEHq8Zkyod+rATNBrqH24ewaoqCPWtRTb9GkwW9EM z+2pu+liAqiA4Es+sNpfgKvO4T4/bliyp3FAJ/03s9XfU0hyJT5JVFDt0hfBou0c wgG1spwuz/3Gtl/DQDS1AMZ1R8jacQIDAQABo1UwUzBDBgNVHREEPDA6gR9rZ2Vv cmdlQHBsb3ZkaXYudGVjaG5vLWxpbmsuY29tgRdna29kaW5vdkBvcGVubGluay5j by51azAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBAAArP5xEnmt5goAO 2+8UE/8dd4CwfG0w/IO53psFgpjPlM/D9ePt/LPF/vhTtPHXubm54xJlNVi0MMPU g91BU3bPkX2rrEhv1plInRc0eaKIooy+qz8KPhz5DwZ0PfidOMn3G2/HkdODVqjK ZReIhcaU5pDamp0NCMjzi5isB2qfMIIDKTCCApKgAwIBAgIBDDANBgkqhkiG9w0B AQQFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAG A1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYG A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMb VGhhd3RlIFBlcnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJz b25hbC1mcmVlbWFpbEB0aGF3dGUuY29tMB4XDTAwMDgzMDAwMDAwMFoXDTAyMDgy OTIzNTk1OVowgZIxCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUx EjAQBgNVBAcTCUNhcGUgVG93bjEPMA0GA1UEChMGVGhhd3Rl _______________________________________________________________________________ </pre> </div> </div> </div> <div class="refsect1"> <div class="refsect1title">See Also</div> <p> <a href="fn_smime_verify.html">smime_verify</a> </p> <p> <a href="fn_smime_encrypt.html">smime_encrypt</a> </p> <p> <a href="fn_smime_decrypt.html">smime_decrypt</a> </p> <p> <a href="fn_pem_certificates_to_array.html">pem_certificates_to_array</a> </p> </div> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>