-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathopenssl-pkcs7-verify.xml
164 lines (157 loc) · 5.54 KB
/
openssl-pkcs7-verify.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 497c40ac164d5873fd87f622dfdeb5206392b446 Maintainer: duanxiaoqiang Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.openssl-pkcs7-verify" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>openssl_pkcs7_verify</refname>
<refpurpose>校验一个已签名的 S/MIME 消息的签名</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>bool</type><type>int</type></type><methodname>openssl_pkcs7_verify</methodname>
<methodparam><type>string</type><parameter>input_filename</parameter></methodparam>
<methodparam><type>int</type><parameter>flags</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>signers_certificates_filename</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>ca_info</parameter><initializer>[]</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>untrusted_certificates_filename</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>content</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>output_filename</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>openssl_pkcs7_verify</function>
读取给定文件中的 S/MIME 消息并且检查数字签名。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>input_filename</parameter></term>
<listitem>
<para>
消息的路径。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
<parameter>flags</parameter> 可以用来影响如何校验签名 - 参见
<link linkend="openssl.pkcs7.flags">PKCS7 常量</link>
获取更多信息。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>signers_certificates_filename</parameter></term>
<listitem>
<para>
如果已指定 <parameter>signers_certificates_filename</parameter>
输出文件,它应该是一个用以保存文件的字符串名称,签名消息的个人证书将以 <acronym>PEM</acronym> 的格式保存起来。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>ca_info</parameter></term>
<listitem>
<para>
如果 <parameter>ca_info</parameter> 被指定了,它应该保存关于受信任的CA证书的信息供在验证过程中使用 - 参见
<link linkend="openssl.cert.verification">证书校验</link>
获取关于该参数的更多信息。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>untrusted_certificates_filename</parameter></term>
<listitem>
<para>
如果 <parameter>untrusted_certificates_filename</parameter> 被指定了,该文件包含了一堆会被作为不受信任的ca使用的证书。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>content</parameter></term>
<listitem>
<para>
你可以使用 <parameter>content</parameter> 来指定带有已被验证数据的文件名,该文件内容已去掉了签名信息。
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>output_filename</parameter></term>
<listitem>
<para>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
如果签名已被认证,返回 &true;, 如果不正确 (消息已被篡改或者签名证书不可用) 则返回 &false;,
或者 - 错误时返回1.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>signers_certificates_filename</parameter>、<parameter>untrusted_certificates_filename</parameter>、<parameter>content</parameter>
和 <parameter>output_filename</parameter> 现在可为 null。
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
新增 <parameter>output_filename</parameter> 参数。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
正如 RFC 2045 中指定的,<parameter>input_filename</parameter> 参数最多不可超过 76 个字符串。
</simpara>
</note>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->