-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathopenssl-csr-get-public-key.xml
139 lines (131 loc) · 3.87 KB
/
openssl-csr-get-public-key.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
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 497c40ac164d5873fd87f622dfdeb5206392b446 Maintainer: duanxiaoqiang Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.openssl-csr-get-public-key" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>openssl_csr_get_public_key</refname>
<refpurpose>返回 <acronym>CSR</acronym> 的公钥</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>OpenSSLAsymmetricKey</type><type>false</type></type><methodname>openssl_csr_get_public_key</methodname>
<methodparam><type class="union"><type>OpenSSLCertificateSigningRequest</type><type>string</type></type><parameter>csr</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>short_names</parameter><initializer>&true;</initializer></methodparam>
</methodsynopsis>
<para>
<function>openssl_csr_get_public_key</function> 从 <parameter>csr</parameter> 中提取公钥供其他功能使用。
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&openssl.param.csr;
<varlistentry>
<term><parameter>short_names</parameter></term>
<listitem>
<warning>
<para>
该参数可以省略。
</para>
</warning>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
成功时返回 <classname>OpenSSLAsymmetricKey</classname>,错误则返回 &false;。
</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>
成功时此函数现在返回 <classname>OpenSSLAsymmetricKey</classname>
实例;之前返回类型 <literal>OpenSSL key</literal> 的 &resource;。
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>csr</parameter> 现在接受 <classname>OpenSSLCertificateSigningRequest</classname>
实例;之前接受类型 <literal>OpenSSL X.509 CSR</literal> 的 &resource;。
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>openssl_csr_get_public_key() 示例</title>
<programlisting role="php">
<![CDATA[
<?php
$subject = array(
"commonName" => "example.com",
);
$private_key = openssl_pkey_new(array(
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
));
$csr = openssl_csr_new($subject, $private_key, array('digest_alg' => 'sha256') );
$public_key = openssl_csr_get_public_key($csr);
$info = openssl_pkey_get_details($public_key);
echo $info['key'];
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>openssl_csr_get_subject</function></member>
<member><function>openssl_csr_new</function></member>
<member><function>openssl_pkey_get_details</function></member>
<member><function>openssl_pkey_export_to_file</function></member>
<member><function>openssl_pkey_export</function></member>
</simplelist>
</para>
</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
-->