blob: a81503a32421ffbb147753133061a489cc76a8ff [file] [log] [blame]
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05001<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -04004<title>3.1.1 X509 objects </title>
5<META NAME="description" CONTENT="3.1.1 X509 objects ">
Jean-Paul Calderone897bc252008-02-18 20:50:23 -05006<META NAME="keywords" CONTENT="pyOpenSSL">
7<META NAME="resource-type" CONTENT="document">
8<META NAME="distribution" CONTENT="global">
9<link rel="STYLESHEET" href="pyOpenSSL.css">
10<LINK REL="next" href="openssl-x509name.html">
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040011<LINK REL="previous" href="openssl-crypto.html">
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050012<LINK REL="up" href="openssl-crypto.html">
13<LINK REL="next" href="openssl-x509name.html">
14</head>
15<body>
16<DIV CLASS="navigation">
17<table align="center" width="100%" cellpadding="0" cellspacing="2">
18<tr>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040019<td><A href="openssl-crypto.html"><img src="previous.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -050020 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050021 alt="Previous Page" width="32"></A></td>
22<td><A href="openssl-crypto.html"><img src="up.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -050023 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050024 alt="Up One Level" width="32"></A></td>
25<td><A href="openssl-x509name.html"><img src="next.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -050026 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050027 alt="Next Page" width="32"></A></td>
28<td align="center" width="100%">Python OpenSSL Manual</td>
29<td><A href="contents.html"><img src="contents.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -050030 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050031 alt="Contents" width="32"></A></td>
32<td><img src="blank.gif"
33 border="0" height="32"
34 alt="" width="32"></td>
35<td><img src="blank.gif"
36 border="0" height="32"
37 alt="" width="32"></td>
38</tr></table>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040039<b class="navlabel">Previous:</b> <a class="sectref" href="openssl-crypto.html">3.1 crypto </A>
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050040<b class="navlabel">Up:</b> <a class="sectref" href="openssl-crypto.html">3.1 crypto </A>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040041<b class="navlabel">Next:</b> <a class="sectref" href="openssl-x509name.html">3.1.2 X509Name objects</A>
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050042<br><hr>
43</DIV>
44<!--End of Navigation Panel-->
45
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040046<H3><A NAME="SECTION000411000000000000000">&nbsp;</A>
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050047<BR>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400483.1.1 X509 objects
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050049</H3>
50
51<P>
52X509 objects have the following methods:
53
54<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040055<dl><dt><b><a name='l2h-39'><tt class='method'>get_issuer</tt></a></b>()
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050056<dd>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -050057Return an X509Name object representing the issuer of the certificate.
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050058</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -050059
60<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040061<dl><dt><b><a name='l2h-40'><tt class='method'>get_pubkey</tt></a></b>()
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050062<dd>
63Return a PKey object representing the public key of the certificate.
64</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -050065
66<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040067<dl><dt><b><a name='l2h-41'><tt class='method'>get_serial_number</tt></a></b>()
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050068<dd>
69Return the certificate serial number.
70</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -050071
72<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040073<dl><dt><b><a name='l2h-42'><tt class='method'>get_signature_algorithm</tt></a></b>()
74<dd>
75Return the signature algorithm used in the certificate. If the algorithm is
76undefined, raise <code>ValueError</code>.
77</dl>
78
79<P>
80<dl><dt><b><a name='l2h-43'><tt class='method'>get_subject</tt></a></b>()
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050081<dd>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -050082Return an X509Name object representing the subject of the certificate.
83</dl>
84
85<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040086<dl><dt><b><a name='l2h-44'><tt class='method'>get_version</tt></a></b>()
Jean-Paul Calderone897bc252008-02-18 20:50:23 -050087<dd>
88Return the certificate version.
89</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -050090
91<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -040092<dl><dt><b><a name='l2h-45'><tt class='method'>get_notBefore</tt></a></b>()
Jean-Paul Calderone525ef802008-03-09 20:39:42 -040093<dd>
94Return a string giving the time before which the certificate is not valid. The
95string is formatted as an ASN1 GENERALIZEDTIME:
96<dl><dd><pre class="verbatim">
97 YYYYMMDDhhmmssZ
98 YYYYMMDDhhmmss+hhmm
99 YYYYMMDDhhmmss-hhmm
100</pre></dl>
Jean-Paul Calderone24c99262008-03-09 21:48:06 -0400101If no value exists for this field, <code>None</code> is returned.
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400102</dl>
103
104<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400105<dl><dt><b><a name='l2h-46'><tt class='method'>get_notAfter</tt></a></b>()
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400106<dd>
107Return a string giving the time after which the certificate is not valid. The
108string is formatted as an ASN1 GENERALIZEDTIME:
109<dl><dd><pre class="verbatim">
110 YYYYMMDDhhmmssZ
111 YYYYMMDDhhmmss+hhmm
112 YYYYMMDDhhmmss-hhmm
113</pre></dl>
Jean-Paul Calderone24c99262008-03-09 21:48:06 -0400114If no value exists for this field, <code>None</code> is returned.
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400115</dl>
116
117<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400118<dl><dt><b><a name='l2h-47'><tt class='method'>set_notBefore</tt></a></b>(<var>when</var>)
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400119<dd>
120Change the time before which the certificate is not valid. <var>when</var> is a
121string formatted as an ASN1 GENERALIZEDTIME:
122<dl><dd><pre class="verbatim">
123 YYYYMMDDhhmmssZ
124 YYYYMMDDhhmmss+hhmm
125 YYYYMMDDhhmmss-hhmm
126</pre></dl>
127</dl>
128
129<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400130<dl><dt><b><a name='l2h-48'><tt class='method'>set_notAfter</tt></a></b>(<var>when</var>)
Jean-Paul Calderone525ef802008-03-09 20:39:42 -0400131<dd>
132Change the time after which the certificate is not valid. <var>when</var> is a
133string formatted as an ASN1 GENERALIZEDTIME:
134<dl><dd><pre class="verbatim">
135 YYYYMMDDhhmmssZ
136 YYYYMMDDhhmmss+hhmm
137 YYYYMMDDhhmmss-hhmm
138</pre></dl>
139</dl>
140
141<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400142<dl><dt><b><a name='l2h-49'><tt class='method'>gmtime_adj_notBefore</tt></a></b>(<var>time</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500143<dd>
144Adjust the timestamp (in GMT) when the certificate starts being valid.
145</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500146
147<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400148<dl><dt><b><a name='l2h-50'><tt class='method'>gmtime_adj_notAfter</tt></a></b>(<var>time</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500149<dd>
150Adjust the timestamp (in GMT) when the certificate stops being valid.
151</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500152
153<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400154<dl><dt><b><a name='l2h-51'><tt class='method'>has_expired</tt></a></b>()
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500155<dd>
156Checks the certificate's time stamp against current time. Returns true if the
157certificate has expired and false otherwise.
158</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500159
160<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400161<dl><dt><b><a name='l2h-52'><tt class='method'>set_issuer</tt></a></b>(<var>issuer</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500162<dd>
163Set the issuer of the certificate to <var>issuer</var>.
164</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500165
166<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400167<dl><dt><b><a name='l2h-53'><tt class='method'>set_pubkey</tt></a></b>(<var>pkey</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500168<dd>
169Set the public key of the certificate to <var>pkey</var>.
170</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500171
172<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400173<dl><dt><b><a name='l2h-54'><tt class='method'>set_serial_number</tt></a></b>(<var>serialno</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500174<dd>
175Set the serial number of the certificate to <var>serialno</var>.
176</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500177
178<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400179<dl><dt><b><a name='l2h-55'><tt class='method'>set_subject</tt></a></b>(<var>subject</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500180<dd>
181Set the subject of the certificate to <var>subject</var>.
182</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500183
184<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400185<dl><dt><b><a name='l2h-56'><tt class='method'>set_version</tt></a></b>(<var>version</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500186<dd>
187Set the certificate version to <var>version</var>.
188</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500189
190<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400191<dl><dt><b><a name='l2h-57'><tt class='method'>sign</tt></a></b>(<var>pkey, digest</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500192<dd>
193Sign the certificate, using the key <var>pkey</var> and the message digest algorithm
194identified by the string <var>digest</var>.
195</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500196
197<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400198<dl><dt><b><a name='l2h-58'><tt class='method'>subject_name_hash</tt></a></b>()
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500199<dd>
200Return the hash of the certificate subject.
201</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500202
203<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400204<dl><dt><b><a name='l2h-59'><tt class='method'>digest</tt></a></b>(<var>digest_name</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500205<dd>
206Return a digest of the certificate, using the <var>digest_name</var> method.
Jean-Paul Calderone6c1d4f92009-03-07 09:10:30 -0500207<var>digest_name</var> must be a string describing a digest algorithm supported
208by OpenSSL (by EVP_get_digestbyname, specifically). For example,
209<tt class="constant">"md5"</tt> or <tt class="constant">"sha1"</tt>.
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500210</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500211
212<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400213<dl><dt><b><a name='l2h-60'><tt class='method'>add_extensions</tt></a></b>(<var>extensions</var>)
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500214<dd>
215Add the extensions in the sequence <var>extensions</var> to the certificate.
216</dl>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500217
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500218<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400219<dl><dt><b><a name='l2h-61'><tt class='method'>get_extension_count</tt></a></b>()
Jean-Paul Calderone78caacc2011-04-07 15:41:56 -0400220<dd>
221Return the number of extensions on this certificate.
222
223<span class='versionnote'>New in version 0.12.</span>
224
225</dl>
226
227<P>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400228<dl><dt><b><a name='l2h-62'><tt class='method'>get_extension</tt></a></b>(<var>index</var>)
Jean-Paul Calderone78caacc2011-04-07 15:41:56 -0400229<dd>
230Retrieve the extension on this certificate at the given index.
231
232<P>
233Extensions on a certificate are kept in order. The index parameter selects
234which extension will be returned. The returned object will be an X509Extension
235instance.
236
237<span class='versionnote'>New in version 0.12.</span>
238
239</dl>
240
241<P>
Jean-Paul Calderone2aa2b332008-03-06 21:43:14 -0500242
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500243<DIV CLASS="navigation">
244<p><hr>
245<table align="center" width="100%" cellpadding="0" cellspacing="2">
246<tr>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400247<td><A href="openssl-crypto.html"><img src="previous.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -0500248 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500249 alt="Previous Page" width="32"></A></td>
250<td><A href="openssl-crypto.html"><img src="up.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -0500251 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500252 alt="Up One Level" width="32"></A></td>
253<td><A href="openssl-x509name.html"><img src="next.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -0500254 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500255 alt="Next Page" width="32"></A></td>
256<td align="center" width="100%">Python OpenSSL Manual</td>
257<td><A href="contents.html"><img src="contents.gif"
Jean-Paul Calderone215d51b2009-11-13 09:19:21 -0500258 border="0" height="32"
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500259 alt="Contents" width="32"></A></td>
260<td><img src="blank.gif"
261 border="0" height="32"
262 alt="" width="32"></td>
263<td><img src="blank.gif"
264 border="0" height="32"
265 alt="" width="32"></td>
266</tr></table>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400267<b class="navlabel">Previous:</b> <a class="sectref" href="openssl-crypto.html">3.1 crypto </A>
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500268<b class="navlabel">Up:</b> <a class="sectref" href="openssl-crypto.html">3.1 crypto </A>
Jean-Paul Calderone7fd9c562011-08-14 18:19:17 -0400269<b class="navlabel">Next:</b> <a class="sectref" href="openssl-x509name.html">3.1.2 X509Name objects</A>
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500270<hr>
Jean-Paul Calderoneb557e982011-09-02 11:35:12 -0400271<span class="release-info">Release 0.13.</span>
Jean-Paul Calderone897bc252008-02-18 20:50:23 -0500272</DIV>
273<!--End of Navigation Panel-->
274
275</BODY>
276</HTML>