PageRenderTime 21ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/kdewebdev-3.5.10/php/function.openssl-pkcs7-sign.html

#
HTML | 296 lines | 294 code | 2 blank | 0 comment | 0 complexity | 1ddcc7785190eb6fb4b120e2aa731295 MD5 | raw file
Possible License(s): AGPL-1.0, CC-BY-SA-3.0, GPL-2.0
  1. <HTML
  2. ><HEAD
  3. ><TITLE
  4. >openssl_pkcs7_sign</TITLE
  5. ><META
  6. NAME="GENERATOR"
  7. CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
  8. REL="HOME"
  9. TITLE="PHP Manual"
  10. HREF="index.html"><LINK
  11. REL="UP"
  12. TITLE="OpenSSL functions"
  13. HREF="ref.openssl.html"><LINK
  14. REL="PREVIOUS"
  15. TITLE="openssl_pkcs7_encrypt"
  16. HREF="function.openssl-pkcs7-encrypt.html"><LINK
  17. REL="NEXT"
  18. TITLE="openssl_pkcs7_verify"
  19. HREF="function.openssl-pkcs7-verify.html"><META
  20. HTTP-EQUIV="Content-type"
  21. CONTENT="text/html; charset=ISO-8859-1"></HEAD
  22. ><BODY
  23. CLASS="refentry"
  24. BGCOLOR="#FFFFFF"
  25. TEXT="#000000"
  26. LINK="#0000FF"
  27. VLINK="#840084"
  28. ALINK="#0000FF"
  29. ><DIV
  30. CLASS="NAVHEADER"
  31. ><TABLE
  32. SUMMARY="Header navigation table"
  33. WIDTH="100%"
  34. BORDER="0"
  35. CELLPADDING="0"
  36. CELLSPACING="0"
  37. ><TR
  38. ><TH
  39. COLSPAN="3"
  40. ALIGN="center"
  41. >PHP Manual</TH
  42. ></TR
  43. ><TR
  44. ><TD
  45. WIDTH="10%"
  46. ALIGN="left"
  47. VALIGN="bottom"
  48. ><A
  49. HREF="function.openssl-pkcs7-encrypt.html"
  50. ACCESSKEY="P"
  51. >Prev</A
  52. ></TD
  53. ><TD
  54. WIDTH="80%"
  55. ALIGN="center"
  56. VALIGN="bottom"
  57. ></TD
  58. ><TD
  59. WIDTH="10%"
  60. ALIGN="right"
  61. VALIGN="bottom"
  62. ><A
  63. HREF="function.openssl-pkcs7-verify.html"
  64. ACCESSKEY="N"
  65. >Next</A
  66. ></TD
  67. ></TR
  68. ></TABLE
  69. ><HR
  70. ALIGN="LEFT"
  71. WIDTH="100%"></DIV
  72. ><H1
  73. ><A
  74. NAME="function.openssl-pkcs7-sign"
  75. ></A
  76. >openssl_pkcs7_sign</H1
  77. ><DIV
  78. CLASS="refnamediv"
  79. ><A
  80. NAME="AEN68285"
  81. ></A
  82. ><P
  83. > (PHP 4 &#62;= 4.0.6)</P
  84. >openssl_pkcs7_sign&nbsp;--&nbsp;sign an S/MIME message</DIV
  85. ><DIV
  86. CLASS="refsect1"
  87. ><A
  88. NAME="AEN68288"
  89. ></A
  90. ><H2
  91. >Description</H2
  92. >bool <B
  93. CLASS="methodname"
  94. >openssl_pkcs7_sign</B
  95. > ( string infilename, string outfilename, mixed signcert, mixed privkey, array headers [, long flags [, string extracertsfilename]])<BR
  96. ></BR
  97. ><P
  98. >&#13; <B
  99. CLASS="function"
  100. >openssl_pkcs7_sign()</B
  101. > takes the contents of the file
  102. named <TT
  103. CLASS="parameter"
  104. ><I
  105. >infilename</I
  106. ></TT
  107. > and signs them using the
  108. certificate and it's matching private key specified by
  109. <TT
  110. CLASS="parameter"
  111. ><I
  112. >signcert</I
  113. ></TT
  114. > and <TT
  115. CLASS="parameter"
  116. ><I
  117. >privkey</I
  118. ></TT
  119. >
  120. parameters.
  121. </P
  122. ><P
  123. ><TT
  124. CLASS="parameter"
  125. ><I
  126. >headers</I
  127. ></TT
  128. > is an array of headers that
  129. will be prepended to the data after it has been signed (see
  130. <A
  131. HREF="function.openssl-pkcs7-encrypt.html"
  132. ><B
  133. CLASS="function"
  134. >openssl_pkcs7_encrypt()</B
  135. ></A
  136. > for more information about
  137. the format of this parameter.
  138. </P
  139. ><P
  140. >&#13; <TT
  141. CLASS="parameter"
  142. ><I
  143. >flags</I
  144. ></TT
  145. > can be used to alter the output - see <A
  146. HREF="ref.openssl.html#openssl.pkcs7.flags"
  147. >PKCS7 constants</A
  148. > - if not specified,
  149. it defaults to PKCS7_DETACHED.
  150. </P
  151. ><P
  152. >&#13; <TT
  153. CLASS="parameter"
  154. ><I
  155. >extracerts</I
  156. ></TT
  157. > specifies the name of a file containing
  158. a bunch of extra certificates to include in the signature which can for
  159. example be used to help the recipient to verify the certificate that you used.
  160. </P
  161. ><P
  162. >&#13; <TABLE
  163. WIDTH="100%"
  164. BORDER="0"
  165. CELLPADDING="0"
  166. CELLSPACING="0"
  167. CLASS="EXAMPLE"
  168. ><TR
  169. ><TD
  170. ><DIV
  171. CLASS="example"
  172. ><A
  173. NAME="AEN68328"
  174. ></A
  175. ><P
  176. ><B
  177. >Example 1. <B
  178. CLASS="function"
  179. >openssl_pkcs7_sign()</B
  180. > example</B
  181. ></P
  182. ><TABLE
  183. BORDER="0"
  184. BGCOLOR="#E0E0E0"
  185. CELLPADDING="5"
  186. ><TR
  187. ><TD
  188. ><PRE
  189. CLASS="php"
  190. >// the message you want to sign so that recipient can be sure it was you that
  191. // sent it
  192. $data = &#60;&#60;&#60;EOD
  193. You have my authorization to spend $10,000 on dinner expenses.
  194. The CEO
  195. EOD;
  196. // save message to file
  197. $fp = fopen("msg.txt", "w");
  198. fwrite($fp, $data);
  199. fclose($fp);
  200. // encrypt it
  201. if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem",
  202. array("mycert.pem", "mypassphrase"),
  203. array("To" =&#62; "joes@sales.com", // keyed syntax
  204. "From: HQ &#60;ceo@sales.com&#62;", // indexed syntax
  205. "Subject" =&#62; "Eyes only"))
  206. {
  207. // message signed - send it!
  208. exec(ini_get("sendmail_path") . " &#60; signed.txt");
  209. }</PRE
  210. ></TD
  211. ></TR
  212. ></TABLE
  213. ></DIV
  214. ></TD
  215. ></TR
  216. ></TABLE
  217. >
  218. </P
  219. ><DIV
  220. CLASS="note"
  221. ><BLOCKQUOTE
  222. CLASS="note"
  223. ><P
  224. ><B
  225. >Note: </B
  226. >This function was added in 4.0.6.</P
  227. ></BLOCKQUOTE
  228. ></DIV
  229. ></DIV
  230. ><DIV
  231. CLASS="NAVFOOTER"
  232. ><HR
  233. ALIGN="LEFT"
  234. WIDTH="100%"><TABLE
  235. SUMMARY="Footer navigation table"
  236. WIDTH="100%"
  237. BORDER="0"
  238. CELLPADDING="0"
  239. CELLSPACING="0"
  240. ><TR
  241. ><TD
  242. WIDTH="33%"
  243. ALIGN="left"
  244. VALIGN="top"
  245. ><A
  246. HREF="function.openssl-pkcs7-encrypt.html"
  247. ACCESSKEY="P"
  248. >Prev</A
  249. ></TD
  250. ><TD
  251. WIDTH="34%"
  252. ALIGN="center"
  253. VALIGN="top"
  254. ><A
  255. HREF="index.html"
  256. ACCESSKEY="H"
  257. >Home</A
  258. ></TD
  259. ><TD
  260. WIDTH="33%"
  261. ALIGN="right"
  262. VALIGN="top"
  263. ><A
  264. HREF="function.openssl-pkcs7-verify.html"
  265. ACCESSKEY="N"
  266. >Next</A
  267. ></TD
  268. ></TR
  269. ><TR
  270. ><TD
  271. WIDTH="33%"
  272. ALIGN="left"
  273. VALIGN="top"
  274. >openssl_pkcs7_encrypt</TD
  275. ><TD
  276. WIDTH="34%"
  277. ALIGN="center"
  278. VALIGN="top"
  279. ><A
  280. HREF="ref.openssl.html"
  281. ACCESSKEY="U"
  282. >Up</A
  283. ></TD
  284. ><TD
  285. WIDTH="33%"
  286. ALIGN="right"
  287. VALIGN="top"
  288. >openssl_pkcs7_verify</TD
  289. ></TR
  290. ></TABLE
  291. ></DIV
  292. ></BODY
  293. ></HTML
  294. >