This file is indexed.

/usr/share/doc/python-gevent-doc/html/gevent.ssl.html is in python-gevent-doc 1.0-1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">

<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    
    <title>gevent.ssl – SSL wrapper for socket objects &mdash; gevent 1.0 documentation</title>
    <link rel="stylesheet" href="_static/basic.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />

    <link rel="top" title="gevent 1.0 documentation" href="index.html" />
    <link rel="up" title="Networking interfaces" href="networking.html" />
    <link rel="next" title="gevent.select" href="gevent.select.html" />
    <link rel="prev" title="gevent.socket – Cooperative socket module" href="gevent.socket.html" /> 
  </head>

<body>

<div id="site-wrapper">
	<div id="header">
		<div id="top">
			<div class="left" id="logo">
                <h1><a id="title" href="/">gevent</a></h1>
			</div>
			<div class="left navigation" id="main-nav">
				<ul class="tabbed">
                    <li><a href="http://blog.gevent.org">Blog</a></li>
                    <li><a href="https://github.com/surfly/gevent">Code</a></li>
                    <li class="current-tab"><a href="/contents.html">Docs</a></li>
                    <li><a href="http://pypi.python.org/pypi/gevent#downloads">Download</a></li>
					<li><a href="/community.html">Mailing list</a></li>
                    <li><a href="https://github.com/surfly/gevent/issues">Issues</a></li>
					<li><a href="http://webchat.freenode.net/?channels=gevent" rel="nofollow">IRC</a></li>
                    <li><a href="/sfc.html">Donate</a></li>
                </ul>
				<div class="clearer">&nbsp;</div>
			</div>
			<div class="clearer">&nbsp;</div>
        </div>
    </div>

	<div id="splash">

        <div class="col3big left">

            <div class="document">
                <div class="documentwrapper">
                    <div class="bodywrapper">
                        <div class="body">


                            
  <div class="section" id="module-gevent.ssl">
<span id="gevent-ssl-ssl-wrapper-for-socket-objects"></span><h1><a class="reference internal" href="#module-gevent.ssl" title="gevent.ssl"><tt class="xref py py-mod docutils literal"><span class="pre">gevent.ssl</span></tt></a> &#8211; SSL wrapper for socket objects<a class="headerlink" href="#module-gevent.ssl" title="Permalink to this headline"></a></h1>
<p>For the documentation, refer to <a class="reference external" href="http://docs.python.org/library/ssl.html#module-ssl" title="(in Python v2.7)"><tt class="xref py py-mod docutils literal"><span class="pre">ssl</span></tt></a> module manual.</p>
<p>This module implements cooperative SSL socket wrappers.
On Python 2.6 and newer it uses Python&#8217;s native <a class="reference external" href="http://docs.python.org/library/ssl.html#module-ssl" title="(in Python v2.7)"><tt class="xref py py-mod docutils literal"><span class="pre">ssl</span></tt></a> module. On Python 2.5 and 2.4
it requires <a class="reference external" href="http://pypi.python.org/pypi/ssl">ssl package</a> to be installed.</p>
<dl class="class">
<dt id="gevent.ssl.SSLSocket">
<em class="property">class </em><tt class="descclassname">gevent.ssl.</tt><tt class="descname">SSLSocket</tt><big>(</big><em>sock</em>, <em>keyfile=None</em>, <em>certfile=None</em>, <em>server_side=False</em>, <em>cert_reqs=0</em>, <em>ssl_version=2</em>, <em>ca_certs=None</em>, <em>do_handshake_on_connect=True</em>, <em>suppress_ragged_eofs=True</em>, <em>ciphers=None</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket" title="Permalink to this definition"></a></dt>
<dd><dl class="method">
<dt id="gevent.ssl.SSLSocket.read">
<tt class="descname">read</tt><big>(</big><em>len=1024</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.read" title="Permalink to this definition"></a></dt>
<dd><p>Read up to LEN bytes and return them.
Return zero-length string on EOF.</p>
</dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.write">
<tt class="descname">write</tt><big>(</big><em>data</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.write" title="Permalink to this definition"></a></dt>
<dd><p>Write DATA to the underlying SSL channel.  Returns
number of bytes of DATA actually transmitted.</p>
</dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.getpeercert">
<tt class="descname">getpeercert</tt><big>(</big><em>binary_form=False</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.getpeercert" title="Permalink to this definition"></a></dt>
<dd><p>Returns a formatted version of the data in the
certificate provided by the other end of the SSL channel.
Return None if no certificate was provided, {} if a
certificate was provided, but not validated.</p>
</dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.cipher">
<tt class="descname">cipher</tt><big>(</big><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.cipher" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.send">
<tt class="descname">send</tt><big>(</big><em>data</em>, <em>flags=0</em>, <em>timeout=&lt;object object at 0x557dc888&gt;</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.send" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.sendto">
<tt class="descname">sendto</tt><big>(</big><em>*args</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.sendto" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.recv">
<tt class="descname">recv</tt><big>(</big><em>buflen=1024</em>, <em>flags=0</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.recv" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.recv_into">
<tt class="descname">recv_into</tt><big>(</big><em>buffer</em>, <em>nbytes=None</em>, <em>flags=0</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.recv_into" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.recvfrom">
<tt class="descname">recvfrom</tt><big>(</big><em>*args</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.recvfrom" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.recvfrom_into">
<tt class="descname">recvfrom_into</tt><big>(</big><em>*args</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.recvfrom_into" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.pending">
<tt class="descname">pending</tt><big>(</big><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.pending" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.unwrap">
<tt class="descname">unwrap</tt><big>(</big><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.unwrap" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.shutdown">
<tt class="descname">shutdown</tt><big>(</big><em>how</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.shutdown" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.close">
<tt class="descname">close</tt><big>(</big><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.close" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.do_handshake">
<tt class="descname">do_handshake</tt><big>(</big><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.do_handshake" title="Permalink to this definition"></a></dt>
<dd><p>Perform a TLS/SSL handshake.</p>
</dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.connect">
<tt class="descname">connect</tt><big>(</big><em>addr</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.connect" title="Permalink to this definition"></a></dt>
<dd><p>Connects to remote ADDR, and then wraps the connection in
an SSL channel.</p>
</dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.accept">
<tt class="descname">accept</tt><big>(</big><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.accept" title="Permalink to this definition"></a></dt>
<dd><p>Accepts a new connection from a remote client, and returns
a tuple containing that new connection wrapped with a server-side
SSL channel, and the address of the remote client.</p>
</dd></dl>

<dl class="method">
<dt id="gevent.ssl.SSLSocket.makefile">
<tt class="descname">makefile</tt><big>(</big><em>mode='r'</em>, <em>bufsize=-1</em><big>)</big><a class="headerlink" href="#gevent.ssl.SSLSocket.makefile" title="Permalink to this definition"></a></dt>
<dd><p>Make and return a file-like object that
works with the SSL connection.  Just use the code
from the socket module.</p>
</dd></dl>

</dd></dl>

<dl class="function">
<dt id="gevent.ssl.wrap_socket">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">wrap_socket</tt><big>(</big><em>sock</em>, <em>keyfile=None</em>, <em>certfile=None</em>, <em>server_side=False</em>, <em>cert_reqs=0</em>, <em>ssl_version=2</em>, <em>ca_certs=None</em>, <em>do_handshake_on_connect=True</em>, <em>suppress_ragged_eofs=True</em>, <em>ciphers=None</em><big>)</big><a class="headerlink" href="#gevent.ssl.wrap_socket" title="Permalink to this definition"></a></dt>
<dd><p>Create a new <a class="reference internal" href="#gevent.ssl.SSLSocket" title="gevent.ssl.SSLSocket"><tt class="xref py py-class docutils literal"><span class="pre">SSLSocket</span></tt></a> instance.</p>
</dd></dl>

<dl class="function">
<dt id="gevent.ssl.get_server_certificate">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">get_server_certificate</tt><big>(</big><em>addr</em>, <em>ssl_version=1</em>, <em>ca_certs=None</em><big>)</big><a class="headerlink" href="#gevent.ssl.get_server_certificate" title="Permalink to this definition"></a></dt>
<dd><p>Retrieve the certificate from the server at the specified address,
and return it as a PEM-encoded string.
If &#8216;ca_certs&#8217; is specified, validate the server cert against it.
If &#8216;ssl_version&#8217; is specified, use it in the connection attempt.</p>
</dd></dl>

<dl class="function">
<dt id="gevent.ssl.sslwrap_simple">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">sslwrap_simple</tt><big>(</big><em>sock</em>, <em>keyfile=None</em>, <em>certfile=None</em><big>)</big><a class="headerlink" href="#gevent.ssl.sslwrap_simple" title="Permalink to this definition"></a></dt>
<dd><p>A replacement for the old socket.ssl function.  Designed
for compability with Python 2.5 and earlier.  Will disappear in
Python 3.0.</p>
</dd></dl>

<dl class="exception">
<dt id="gevent.ssl.SSLError">
<em class="property">exception </em><tt class="descclassname">gevent.ssl.</tt><tt class="descname">SSLError</tt><a class="headerlink" href="#gevent.ssl.SSLError" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="function">
<dt id="gevent.ssl.RAND_status">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">RAND_status</tt><big>(</big><big>)</big> &rarr; 0 or 1<a class="headerlink" href="#gevent.ssl.RAND_status" title="Permalink to this definition"></a></dt>
<dd><p>Returns 1 if the OpenSSL PRNG has been seeded with enough data and 0 if not.
It is necessary to seed the PRNG with RAND_add() on some platforms before
using the ssl() function.</p>
</dd></dl>

<dl class="function">
<dt id="gevent.ssl.RAND_egd">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">RAND_egd</tt><big>(</big><em>path</em><big>)</big> &rarr; bytes<a class="headerlink" href="#gevent.ssl.RAND_egd" title="Permalink to this definition"></a></dt>
<dd><p>Queries the entropy gather daemon (EGD) on the socket named by &#8216;path&#8217;.
Returns number of bytes read.  Raises SSLError if connection to EGD
fails or if it does not provide enough data to seed PRNG.</p>
</dd></dl>

<dl class="function">
<dt id="gevent.ssl.RAND_add">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">RAND_add</tt><big>(</big><em>string</em>, <em>entropy</em><big>)</big><a class="headerlink" href="#gevent.ssl.RAND_add" title="Permalink to this definition"></a></dt>
<dd><p>Mix string into the OpenSSL PRNG state.  entropy (a float) is a lower
bound on the entropy contained in string.  See RFC 1750.</p>
</dd></dl>

<dl class="function">
<dt id="gevent.ssl.cert_time_to_seconds">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">cert_time_to_seconds</tt><big>(</big><em>cert_time</em><big>)</big><a class="headerlink" href="#gevent.ssl.cert_time_to_seconds" title="Permalink to this definition"></a></dt>
<dd><p>Takes a date-time string in standard ASN1_print form
(&#8220;MON DAY 24HOUR:MINUTE:SEC YEAR TIMEZONE&#8221;) and return
a Python time value in seconds past the epoch.</p>
</dd></dl>

<dl class="function">
<dt id="gevent.ssl.get_protocol_name">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">get_protocol_name</tt><big>(</big><em>protocol_code</em><big>)</big><a class="headerlink" href="#gevent.ssl.get_protocol_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>

<dl class="function">
<dt id="gevent.ssl.DER_cert_to_PEM_cert">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">DER_cert_to_PEM_cert</tt><big>(</big><em>der_cert_bytes</em><big>)</big><a class="headerlink" href="#gevent.ssl.DER_cert_to_PEM_cert" title="Permalink to this definition"></a></dt>
<dd><p>Takes a certificate in binary DER format and returns the
PEM version of it as a string.</p>
</dd></dl>

<dl class="function">
<dt id="gevent.ssl.PEM_cert_to_DER_cert">
<tt class="descclassname">gevent.ssl.</tt><tt class="descname">PEM_cert_to_DER_cert</tt><big>(</big><em>pem_cert_string</em><big>)</big><a class="headerlink" href="#gevent.ssl.PEM_cert_to_DER_cert" title="Permalink to this definition"></a></dt>
<dd><p>Takes a certificate in ASCII PEM format and returns the
DER-encoded version of it as a byte sequence</p>
</dd></dl>

</div>


          <p><strong>Next page: <a href="gevent.select.html" title="next chapter"><tt class="docutils literal"><span class="pre">gevent.select</span></tt></a></strong></p>

                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="col3 right">
            <div class="body">
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
          <h4 class="label label-blue"><a href="contents.html">Navigation</a></h4>
          <ul>
          <li>Next: <a href="gevent.select.html" title="next chapter"><tt class="docutils literal"><span class="pre">gevent.select</span></tt></a></li>
          <li>Previous: <a href="gevent.socket.html" title="previous chapter"><tt class="docutils literal"><span class="pre">gevent.socket</span></tt> &#8211; Cooperative socket module</a></li>
          <li>Up: <a href="networking.html">Networking interfaces</a></li>
          </ul>
          <h4 class="label label-orange">Related pages</h4>
          <ul>
          <li><a href="https://github.com/surfly/gevent/tree/master/examples"
              title="Browse gevent/examples in the development repository">Code examples</a></li>
          </ul>

        </div>
      </div>
            </div>
        </div>
 		<div class="clearer">&nbsp;</div>
    </div>

	<div id="footer">

		<div class="left" id="footer-left">

            <p><a href="http://denisbilenko.com" class="quiet-link">&copy; 2009-2013 Denis Bilenko</a></p>

			<div class="clearer">&nbsp;</div>

		</div>

		<div class="right" id="footer-right">

			<p class="large"><a href="http://blog.gevent.org">Blog</a> <span class="text-separator">|</span> <a href="https://github.com/surfly/gevent">Code</a> <span class="text-separator">|</span> <a href="/contents.html">Docs</a> <span class="text-separator">|</span> <a href="http://pypi.python.org/pypi/gevent">Download</a> <span class="text-separator">|</span> <a href="/community.html">Mailing list</a> <span class="text-separator">|</span> <a href="https://github.com/surfly/gevent/issues">Issue tracker</a> <span class="text-separator">|</span> <a href="http://webchat.freenode.net/?channels=gevent" rel="nofollow">IRC</a> <span class="text-separator">|</span> <a href="#top" class="quiet">Page Top &uarr;</a></p>

		</div>

		<div class="clearer">&nbsp;</div>

	</div>

</div>

</body>
</html>