16
16
<table align="center" width="100%" cellpadding="0" cellspacing="2">
18
18
<td><A href="openssl-context.html"><img src="previous.gif"
19
border="0" height="32"
19
border="0" height="32"
20
20
alt="Previous Page" width="32"></A></td>
21
21
<td><A href="openssl-ssl.html"><img src="up.gif"
22
border="0" height="32"
22
border="0" height="32"
23
23
alt="Up One Level" width="32"></A></td>
24
24
<td><A href="internals.html"><img src="next.gif"
25
border="0" height="32"
25
border="0" height="32"
26
26
alt="Next Page" width="32"></A></td>
27
27
<td align="center" width="100%">Python OpenSSL Manual</td>
28
28
<td><A href="contents.html"><img src="contents.gif"
29
border="0" height="32"
29
border="0" height="32"
30
30
alt="Contents" width="32"></A></td>
31
31
<td><img src="blank.gif"
32
32
border="0" height="32"
51
51
Connection objects have the following methods:
54
<dl><dt><b><a name='l2h-149'><tt class='method'>accept</tt></a></b>()
54
<dl><dt><b><a name='l2h-160'><tt class='method'>accept</tt></a></b>()
56
56
Call the <tt class="method">accept</tt> method of the underlying socket and set up SSL on the
57
57
returned socket, using the Context object supplied to this Connection object at
64
<dl><dt><b><a name='l2h-150'><tt class='method'>bind</tt></a></b>(<var>address</var>)
64
<dl><dt><b><a name='l2h-161'><tt class='method'>bind</tt></a></b>(<var>address</var>)
66
66
Call the <tt class="method">bind</tt> method of the underlying socket.
70
<dl><dt><b><a name='l2h-151'><tt class='method'>close</tt></a></b>()
70
<dl><dt><b><a name='l2h-162'><tt class='method'>close</tt></a></b>()
72
72
Call the <tt class="method">close</tt> method of the underlying socket. Note: If you want
73
73
correct SSL closure, you need to call the <tt class="method">shutdown</tt> method first.
77
<dl><dt><b><a name='l2h-152'><tt class='method'>connect</tt></a></b>(<var>address</var>)
77
<dl><dt><b><a name='l2h-163'><tt class='method'>connect</tt></a></b>(<var>address</var>)
79
79
Call the <tt class="method">connect</tt> method of the underlying socket and set up SSL on the
80
80
socket, using the Context object supplied to this Connection object at
85
<dl><dt><b><a name='l2h-153'><tt class='method'>connect_ex</tt></a></b>(<var>address</var>)
85
<dl><dt><b><a name='l2h-164'><tt class='method'>connect_ex</tt></a></b>(<var>address</var>)
87
87
Call the <tt class="method">connect_ex</tt> method of the underlying socket and set up SSL on
88
88
the socket, using the Context object supplied to this Connection object at
94
<dl><dt><b><a name='l2h-154'><tt class='method'>do_handshake</tt></a></b>()
94
<dl><dt><b><a name='l2h-165'><tt class='method'>do_handshake</tt></a></b>()
96
96
Perform an SSL handshake (usually called after <tt class="method">renegotiate</tt> or one of
97
97
<tt class="method">set_accept_state</tt> or <tt class="method">set_accept_state</tt>). This can raise the
102
<dl><dt><b><a name='l2h-155'><tt class='method'>fileno</tt></a></b>()
102
<dl><dt><b><a name='l2h-166'><tt class='method'>fileno</tt></a></b>()
104
104
Retrieve the file descriptor number for the underlying socket.
108
<dl><dt><b><a name='l2h-156'><tt class='method'>listen</tt></a></b>(<var>backlog</var>)
108
<dl><dt><b><a name='l2h-167'><tt class='method'>listen</tt></a></b>(<var>backlog</var>)
110
110
Call the <tt class="method">listen</tt> method of the underlying socket.
114
<dl><dt><b><a name='l2h-157'><tt class='method'>get_app_data</tt></a></b>()
114
<dl><dt><b><a name='l2h-168'><tt class='method'>get_app_data</tt></a></b>()
116
116
Retrieve application data as set by <tt class="method">set_app_data</tt>.
120
<dl><dt><b><a name='l2h-158'><tt class='method'>get_cipher_list</tt></a></b>()
120
<dl><dt><b><a name='l2h-169'><tt class='method'>get_cipher_list</tt></a></b>()
122
122
Retrieve the list of ciphers used by the Connection object. WARNING: This API
123
123
has changed. It used to take an optional parameter and just return a string,
128
<dl><dt><b><a name='l2h-159'><tt class='method'>get_context</tt></a></b>()
128
<dl><dt><b><a name='l2h-170'><tt class='method'>get_client_ca_list</tt></a></b>()
130
Retrieve the list of preferred client certificate issuers sent by the server
131
as <tt class="class">OpenSSL.crypto.X509Name</tt> objects.
134
If this is a client <tt class="class">Connection</tt>, the list will be empty until the
135
connection with the server is established.
138
If this is a server <tt class="class">Connection</tt>, return the list of certificate
139
authorities that will be sent or has been sent to the client, as controlled
140
by this <tt class="class">Connection</tt>'s <tt class="class">Context</tt>.
144
<span class='versionnote'>New in version 0.10.</span>
149
<dl><dt><b><a name='l2h-171'><tt class='method'>get_context</tt></a></b>()
130
151
Retrieve the Context object associated with this Connection.
134
<dl><dt><b><a name='l2h-160'><tt class='method'>get_peer_certificate</tt></a></b>()
155
<dl><dt><b><a name='l2h-172'><tt class='method'>get_peer_certificate</tt></a></b>()
136
157
Retrieve the other side's certificate (if any)
140
<dl><dt><b><a name='l2h-161'><tt class='method'>getpeername</tt></a></b>()
161
<dl><dt><b><a name='l2h-173'><tt class='method'>getpeername</tt></a></b>()
142
163
Call the <tt class="method">getpeername</tt> method of the underlying socket.
146
<dl><dt><b><a name='l2h-162'><tt class='method'>getsockname</tt></a></b>()
167
<dl><dt><b><a name='l2h-174'><tt class='method'>getsockname</tt></a></b>()
148
169
Call the <tt class="method">getsockname</tt> method of the underlying socket.
152
<dl><dt><b><a name='l2h-163'><tt class='method'>getsockopt</tt></a></b>(<var>level, optname</var><big>[</big><var>, buflen</var><big>]</big>)
173
<dl><dt><b><a name='l2h-175'><tt class='method'>getsockopt</tt></a></b>(<var>level, optname</var><big>[</big><var>, buflen</var><big>]</big>)
154
175
Call the <tt class="method">getsockopt</tt> method of the underlying socket.
158
<dl><dt><b><a name='l2h-164'><tt class='method'>pending</tt></a></b>()
179
<dl><dt><b><a name='l2h-176'><tt class='method'>pending</tt></a></b>()
160
181
Retrieve the number of bytes that can be safely read from the SSL buffer
161
182
(<i>not</i> the underlying transport buffer).
165
<dl><dt><b><a name='l2h-165'><tt class='method'>recv</tt></a></b>(<var>bufsize</var>)
186
<dl><dt><b><a name='l2h-177'><tt class='method'>recv</tt></a></b>(<var>bufsize</var>)
167
188
Receive data from the Connection. The return value is a string representing the
168
189
data received. The maximum amount of data to be received at once, is specified
173
<dl><dt><b><a name='l2h-166'><tt class='method'>renegotiate</tt></a></b>()
194
<dl><dt><b><a name='l2h-178'><tt class='method'>bio_write</tt></a></b>(<var>bytes</var>)
196
If the Connection was created with a memory BIO, this method can be used to add
197
bytes to the read end of that memory BIO. The Connection can then read the
198
bytes (for example, in response to a call to <tt class="method">recv</tt>).
202
<dl><dt><b><a name='l2h-179'><tt class='method'>renegotiate</tt></a></b>()
175
204
Renegotiate the SSL session. Call this if you wish to change cipher suites or
176
205
anything like that.
180
<dl><dt><b><a name='l2h-167'><tt class='method'>send</tt></a></b>(<var>string</var>)
209
<dl><dt><b><a name='l2h-180'><tt class='method'>send</tt></a></b>(<var>string</var>)
182
211
Send the <var>string</var> data to the Connection.
186
<dl><dt><b><a name='l2h-168'><tt class='method'>sendall</tt></a></b>(<var>string</var>)
215
<dl><dt><b><a name='l2h-181'><tt class='method'>bio_read</tt></a></b>(<var>bufsize</var>)
217
If the Connection was created with a memory BIO, this method can be used to
218
read bytes from the write end of that memory BIO. Many Connection methods will
219
add bytes which must be read in this manner or the buffer will eventually fill
220
up and the Connection will be able to take no further actions.
224
<dl><dt><b><a name='l2h-182'><tt class='method'>sendall</tt></a></b>(<var>string</var>)
188
226
Send all of the <var>string</var> data to the Connection. This calls <tt class="method">send</tt>
189
227
repeatedly until all data is sent. If an error occurs, it's impossible to tell
194
<dl><dt><b><a name='l2h-169'><tt class='method'>set_accept_state</tt></a></b>()
232
<dl><dt><b><a name='l2h-183'><tt class='method'>set_accept_state</tt></a></b>()
196
234
Set the connection to work in server mode. The handshake will be handled
197
235
automatically by read/write.
201
<dl><dt><b><a name='l2h-170'><tt class='method'>set_app_data</tt></a></b>(<var>data</var>)
239
<dl><dt><b><a name='l2h-184'><tt class='method'>set_app_data</tt></a></b>(<var>data</var>)
203
241
Associate <var>data</var> with this Connection object. <var>data</var> can be retrieved
204
242
later using the <tt class="method">get_app_data</tt> method.
208
<dl><dt><b><a name='l2h-171'><tt class='method'>set_connect_state</tt></a></b>()
246
<dl><dt><b><a name='l2h-185'><tt class='method'>set_connect_state</tt></a></b>()
210
248
Set the connection to work in client mode. The handshake will be handled
211
249
automatically by read/write.
215
<dl><dt><b><a name='l2h-172'><tt class='method'>setblocking</tt></a></b>(<var>flag</var>)
253
<dl><dt><b><a name='l2h-186'><tt class='method'>setblocking</tt></a></b>(<var>flag</var>)
217
255
Call the <tt class="method">setblocking</tt> method of the underlying socket.
221
<dl><dt><b><a name='l2h-173'><tt class='method'>setsockopt</tt></a></b>(<var>level, optname, value</var>)
259
<dl><dt><b><a name='l2h-187'><tt class='method'>setsockopt</tt></a></b>(<var>level, optname, value</var>)
223
261
Call the <tt class="method">setsockopt</tt> method of the underlying socket.
227
<dl><dt><b><a name='l2h-174'><tt class='method'>shutdown</tt></a></b>()
265
<dl><dt><b><a name='l2h-188'><tt class='method'>shutdown</tt></a></b>()
229
267
Send the shutdown message to the Connection. Returns true if the shutdown
230
268
message exchange is completed and false otherwise (in which case you call
236
<dl><dt><b><a name='l2h-175'><tt class='method'>get_shutdown</tt></a></b>()
274
<dl><dt><b><a name='l2h-189'><tt class='method'>get_shutdown</tt></a></b>()
238
276
Get the shutdown state of the Connection. Returns a bitvector of either or
239
277
both of <var>SENT_SHUTDOWN</var> and <var>RECEIVED_SHUTDOWN</var>.
243
<dl><dt><b><a name='l2h-176'><tt class='method'>set_shutdown</tt></a></b>(<var>state</var>)
281
<dl><dt><b><a name='l2h-190'><tt class='method'>set_shutdown</tt></a></b>(<var>state</var>)
245
283
Set the shutdown state of the Connection. <var>state</var> is a bitvector of
246
284
either or both of <var>SENT_SHUTDOWN</var> and <var>RECEIVED_SHUTDOWN</var>.
250
<dl><dt><b><a name='l2h-177'><tt class='method'>sock_shutdown</tt></a></b>(<var>how</var>)
288
<dl><dt><b><a name='l2h-191'><tt class='method'>sock_shutdown</tt></a></b>(<var>how</var>)
252
290
Call the <tt class="method">shutdown</tt> method of the underlying socket.
256
<dl><dt><b><a name='l2h-178'><tt class='method'>state_string</tt></a></b>()
294
<dl><dt><b><a name='l2h-192'><tt class='method'>bio_shutdown</tt></a></b>()
296
If the Connection was created with a memory BIO, this method can be used to
297
indicate that ``end of file'' has been reached on the read end of that memory
302
<dl><dt><b><a name='l2h-193'><tt class='method'>state_string</tt></a></b>()
258
304
Retrieve a verbose string detailing the state of the Connection.
262
<dl><dt><b><a name='l2h-179'><tt class='method'>want_read</tt></a></b>()
308
<dl><dt><b><a name='l2h-194'><tt class='method'>client_random</tt></a></b>()
310
Retrieve the random value used with the client hello message.
314
<dl><dt><b><a name='l2h-195'><tt class='method'>server_random</tt></a></b>()
316
Retrieve the random value used with the server hello message.
320
<dl><dt><b><a name='l2h-196'><tt class='method'>master_key</tt></a></b>()
322
Retrieve the value of the master key for this session.
326
<dl><dt><b><a name='l2h-197'><tt class='method'>want_read</tt></a></b>()
264
328
Checks if more data has to be read from the transport layer to complete an
269
<dl><dt><b><a name='l2h-180'><tt class='method'>want_write</tt></a></b>()
333
<dl><dt><b><a name='l2h-198'><tt class='method'>want_write</tt></a></b>()
271
335
Checks if there is data to write to the transport layer to complete an
279
343
<table align="center" width="100%" cellpadding="0" cellspacing="2">
281
345
<td><A href="openssl-context.html"><img src="previous.gif"
282
border="0" height="32"
346
border="0" height="32"
283
347
alt="Previous Page" width="32"></A></td>
284
348
<td><A href="openssl-ssl.html"><img src="up.gif"
285
border="0" height="32"
349
border="0" height="32"
286
350
alt="Up One Level" width="32"></A></td>
287
351
<td><A href="internals.html"><img src="next.gif"
288
border="0" height="32"
352
border="0" height="32"
289
353
alt="Next Page" width="32"></A></td>
290
354
<td align="center" width="100%">Python OpenSSL Manual</td>
291
355
<td><A href="contents.html"><img src="contents.gif"
292
border="0" height="32"
356
border="0" height="32"
293
357
alt="Contents" width="32"></A></td>
294
358
<td><img src="blank.gif"
295
359
border="0" height="32"
302
366
<b class="navlabel">Up:</b> <a class="sectref" href="openssl-ssl.html">3.3 SSL </A>
303
367
<b class="navlabel">Next:</b> <a class="sectref" href="internals.html">4 Internals</A>
305
<span class="release-info">Release 0.9.</span>
369
<span class="release-info">Release 0.10.</span>
307
371
<!--End of Navigation Panel-->