Trusted Design

pyOpenSSLメソッド一覧

概要

pyOpenSSLは,crypto,rand,SSLの3つのモジュールを持っています。それぞれ実装しているクラス/メソッドを一覧にしました。

cryptoモジュール

cryptoモジュールは暗号処理を行うモジュールです。

Elliptic curves
メソッド名 概要
OpenSSL.crypto
.get_elliptic_curves()
OpenSSLで利用することができる楕円暗号のオブジェクトを取得する。
OpenSSL.crypto
.get_elliptic_curves(name)
OpenSSLで利用することができる楕円暗号のオブジェクトを取得する。
Serialization and deserialization
メソッド名 概要
OpenSSL.crypto
.FILETYPE_PEM
ASN.1構造体のデータをBase64エンコードしたデータを示す。
OpenSSL.crypto
.FILETYPE_ASN1
ASN.1構造体のデータを示す。
OpenSSL.crypto
.dump_certificate(type, cert)
typeで指定したデータ構造でエンコードされた証明書のcertinfoをダンプする。
OpenSSL.crypto
.load_certificate(type, buffer)
typeの方法でエンコードされたX.509証明書をロードする。
OpenSSL.crypto
.dump_certificate_request(type, req)
typeで指定したデータ構造でエンコードされた証明書リクエストをダンプする。
OpenSSL.crypto
.load_certificate_request(type, buffer)
typeの方法でエンコードされた証明書リクエストをロードする。
OpenSSL.crypto
.dump_privatekey(type, pkey, cipher=None, passphrase=None)
typeで指定したデータ構造でエンコードされた秘密鍵をダンプする。
OpenSSL.crypto
.load_privatekey(type, buffer[, passphrase])
typeの方法でエンコードされた秘密鍵をロードする。
OpenSSL.crypto
.dump_publickey(type, pkey)
typeで指定したデータ構造でエンコードされた公開鍵をダンプする。
OpenSSL.crypto
.load_publickey(type, buffer)
typeの方法でエンコードされた公開鍵をロードする。
OpenSSL.crypto
.dump_crl(type, crl)
証明書失効リストをバッファにダンプする。
OpenSSL.crypto
.load_crl(type, buffer)
証明書失効リストをバッファからロードする。
OpenSSL.crypto
.load_pkcs7_data(type, buffer)
typeの方法でエンコードされたpkcs#7データをロードする。
OpenSSL.crypto
.load_pkcs12(buffer [, passphrase])
bufferからPKCS#12データをロードする。
Signing and verifying signatures
メソッド名 概要
OpenSSL.crypto
.sign(key, data, digest)
与えられたkeyとメッセージダイジェストでデータを署名する。
OpenSSL.crypto
.verify(certificate, signature, data, digest)
署名検定を実施する。
X509 objects
class -- OpenSSL.crypto.X509
メソッド名 概要
add_extensions(extensions) 証明書に拡張領域を追加する。
digest(digest_name) X.509オブジェクトのダイジェストを返す。
get_extensions(index) indexで指定した証明書のエクステンションを返す。
get_extension_count() 証明書のエクステンション数を取得する。
get_issuer() 証明書の発行者を返す。
get_notAfter() 証明書の有効期限切れの時刻を取得する。
get_notBefore() 証明書が有効になる時刻を取得する。
get_pubkey() 証明書の公開鍵を取得する。
get_serial_number() 証明書のシリアル番号を取得する。
get_signature_algorithm() 証明書で利用されている署名アルゴリズムを返す。
get_subject() 証明書のサブジェクトを取得する。
get_version() 証明書のバージョン番号を返す。
gmtime_adj_notAfter(amount) 証明書の有効期限切れの時刻を調整する。
gmtime_adj_notBefore(amount) 証明書が有効になる時刻を調整する。
has_expired() 証明書が有効期限切れかどうかをチェックする。
set_issuer(issuer) 証明書にイシュアを設定する。
set_notAfter(when) 証明書に有効期限の時刻を設定する。
set_notBefore(when) 証明書の有効になる時刻を設定する。
set_pubkey(pkey) 証明書に公開鍵を設定する。
set_serial_number(serial) 証明書にシリアル番号を設定する。
set_subject(subject) 証明書にサブジェクトを設定する。
set_version(version) 証明書にバージョンを設定する。
sign(pkey, digest) 引数の鍵とダイジェストタイプで証明書に署名する。
X509.subject_name_hash() X.509サブジェクトのハッシュを返す。
X509Name objects
class -- OpenSSL.crypto.X509Name(name)
メソッド名 概要
__init__(name) X.509Nameを生成する。
der() この名前のDERエンコーディングを返す。
get_components() この名前のコンポーネントを返す。
hash() 名前のDER表記をMD5ダイジェストし,最初の4バイトの整数を返す。
X509Req objects
class -- OpenSSL.crypto.X509Req
メソッド名 概要
add_extensions(extensions) 証明書リクエストにエクステンションを追加する。
get_extensions() 証明書リクエストのX.509エクステンションを取得する。
get_pubkey() 証明書リクエストの公開鍵を取得する。
get_subject() 証明書リクエストのサブジェクトを取得する。
get_version() 証明書リクエストのバージョンフィールドを取得する。
set_pubkey(pkey) 証明書リクエストに公開鍵を設定する。
set_version(version) 証明書リクエストのバージョンフィールドを設定する。
sign(pkey, digest) パラメタの鍵とダイジェストタイプで証明書リクエストに署名する。
verify(pkey) 証明書リクエストの署名を検定する。
X509Store objects
class -- OpenSSL.crypto.X509Store
メソッド名 概要
add_cert(cert) ストアに信頼された証明書を追加する。
add_crl(crl) ストアに証明書失効リストを追加する。
set_flags(flags) ストアに検証フラグを設定する。
set_time(vfy_time) 証明書が検証される時刻を設定する。
X509StoreContext objects
class -- OpenSSL.crypto.X509StoreContext
メソッド名 概要
set_store(store) コンテキストのX.509ストアを設定する。
verify_certificate() コンテキストの証明書を検定する。
PKey objects
class -- OpenSSL.crypto.PKey
メソッド名 概要
bits() 鍵のビット数を返す。
check() RSA秘密鍵の一貫性をチェックする。
classmethod from_cryptography_key(crypto_key) crypto_keyベースに構築する。
generate_key(type, bits) パラメタのタイプトビット数で鍵ペアを生成する。
to_cryptography_key() 鍵をエクスポートする。
type() 鍵のタイプを返す。
PKCS7 objects
class -- OpenSSL.crypto.PKCS7
メソッド名 概要
type_is_signed() PKCS7がSignedオブジェクトかを確認する。
type_is_enveloped() PKCS7がEnvelopedオブジェクトかを確認する。
type_is_signedAndEnveloped() PKCS7がSignedAndEnvelopedオブジェクトかを確認する。
type_is_data() PKCS7がDataオブジェクトかを確認する。
get_type_name() PKCS#7のタイプ名を取得する。
PKCS12 objects
class -- OpenSSL.crypto.PKCS12
メソッド名 概要
export(passphrase=None, iter=2048, maciter=1) PKCS12オブジェクトを文字列にダンプする。
get_ca_certificates() PKCS#12構造体のCA証明書を取得する。
get_certificate() PKCS#12構造体の証明書を取得する。
get_friendlyname() PKCS#12構造体のフレンドリー名を取得する。
get_privatekey() PKCS#12構造体の秘密鍵を取得する。
set_ca_certificates(cacerts) PKCS12オブジェクトにCA証明書を設定または置き換える。
set_certificate(cert) PKCS#12構造体に証明書を設定する。
set_friendlyname(name) PKCS#12構造体にフレンドリー名を設定する。
set_privatekey(pkey) PKCS#12構造体の証明書部分を設定する。
X509Extension objects
class -- OpenSSL.crypto.X509Extension(type_name, critical, value, subject=None, issuer=None)
メソッド名 概要
__init__(type_name, critical, value, subject=None, issuer=None) X509エクステンションを初期化する。
__str__() エクステンションの内容を返す。
get_critical() X.509エクステンションの必須フィールドを返す。
get_data() X.509エクステンションのデータをASN.1エンコードで返す。
get_short_name() X.509エクステンションの短縮タイプ名を返す。
NetscapeSPKI objects
class -- OpenSSL.crypto.NetscapeSPKI
メソッド名 概要
b64_encode() このSPKIオブジェクトのBase64エンコード表記を生成する。
get_pubkey() この証明書の公開鍵を取得する。
set_pubkey(pkey) 証明書に公開鍵を設定する。
sign(pkey, digest) パラメタの鍵とダイジェストタイプで証明書リクエストに署名する。
verify(key) 証明書リクエストの署名を検定する。
CRL objects
class -- OpenSSL.crypto.CRL
メソッド名 概要
add_revoked(revoked) CRL構造体に失効を追加する。
export(cert, key, type=1, days=100, digest=<object object>) CRLを文字列でエクスポートする。
get_issuer() CRLのイシュアを取得する。
get_revoked() この証明書失効リストの失効を返す。
set_lastUpdate(when) CRLが最後に更新された時を設定する。
set_nextUpdate(when) CRLが次に更新される時を設定する。
set_version(version) CRLのバージョンを設定する。
sign(issuer_cert, issuer_key, digest) CRLに署名する。
Revoked objects
class -- OpenSSL.crypto.Revoked
メソッド名 概要
all_reasons() サポートする理由文字列のリストを返す。
get_reason() この失効の理由を取得する。
get_rev_date() 失効のタイムスタンプを取得する。
get_serial() シリアル番号を取得する。
set_reason(reason) この失効の理由を設定する。
set_rev_date(when) 失効のタイムスタンプを設定する。
set_serial(hex_str) シリアル番号を設定する。

SSLモジュール

SSLモジュールはOpenSSLのSSL機能を扱います。ContextとConnectionのオブジェクトが定義されています。

  • class OpenSSL.SSL.Context(method)
  • class OpenSSL.SSL.Session
  • class OpenSSL.SSL.Connection(context, socket)
  • exception OpenSSL.SSL.Error
  • exception OpenSSL.SSL.ZeroReturnError
  • exception OpenSSL.SSL.WantReadError
  • exception OpenSSL.SSL.WantWriteError
  • exception OpenSSL.SSL.WantX509LookupError
  • exception OpenSSL.SSL.SysCallError
Context objects
class -- OpenSSL.SSL.Context(method)
メソッド名 概要
check_privatekey() 秘密鍵が証明書に適合するかをチェックする。
get_app_data() set_app_data()で設定されたアプリケーションデータを取得する。
get_cert_store() 使っているコンテキストの証明書ストアを取得する。
get_timeout() set_timeout()で設定したセッションタイムアウトを取得する。
get_verify_depth() set_verify_depth()で設定した,コンテキストオブジェクトの懸賞の深さを取得する。
get_verify_mode() set_verify()で設定した,コンテキストオブジェクトの検証モードを取得する。
load_client_ca(cafile) クライアントに送信する予定の,信頼された証明書をロードする。
set_client_ca_list(certificate_authorities) クライアントに送信されるCA証明書のリストを置き換える。
add_client_ca(certificate_authority) クライアントに送信されるCA証明書のリストにCA証明書を追加する。
load_verify_locations(pemfile, capath) CA証明書の格納場所を指定する。
set_default_verify_paths() CA証明書が検証目的で利用されることを指定する。
load_tmp_dh(dhfile) dhfileからDiffie-Hellmanの一時パラメタをロードする。
set_tmp_ecdh(curve) ECDHE鍵交換で利用される曲線を選択する。
set_app_data(data) コンテキストオブジェクトにdataを関連付ける。
set_cipher_list(cipher_list) このコンテキストで利用する暗号のリストを設定する。
set_info_callback(callback) コールバックの情報を設定する。
set_options(options) SSLオプションを追加する。
set_mode(mode) SSLモードを追加する。
set_passwd_cb(callback[, userdata]) コールバックにパスフレーズを設定する。
set_session_cashe_mode(mode) このコンテキストで利用するすべての接続で利用されるセッションキャッシュの動作を設定する。
get_session_cash_mode() 現在のセッションキャッシュモードを取得する。
set_session_id(buf) bufにセッションIDを設定する。
set_timeout(timeout) このコンテキストオブジェクトに新しく生成されたセッションにタイムアウトを設定する。
set_verify(mode, callback) 指定したコールバックを検証に利用するように設定する。
set_verify_depth(depth) このコンテキストオブジェクトが許可する証明書チェーンの最大長を設定する。
use_certificate(cert) certで指定したX509オブジェクトの証明書を利用する。
add_extra_chain_cert(cert) 証明書チェーンも含んだcertで指定したX509オブジェクトの証明書を利用する。
use_certificate_chain_file(file) PEMエンコードされたファイルから証明書チェーンをロードする。
use_privatekey(pkey) PKeyオブジェクトのpkeyを秘密鍵で利用する。
use_certificate_file(file[, format]) fileから見つけた最初の証明書を利用する。
use_privatekey_file(file[, format]) fileから見つけた最初の秘密鍵を利用する。
set_tlsext_servername_callback(callback) TLS拡張サーバ名コールバックとして利用する1つの引数コールバックを指定する。
set_npn_advertise_callback(callback) Next Protocol Negotiationをサーバとして呼び出すときのコールバック関数を指定する。
set_npn_select_callback(callback) サーバがNext Protocol Negotiationオプションを利用するときに呼び出されるコールバックを指定する。
set_alpn_protos(protos) Application Layer Protocol Negotiationを利用してTLS接続された後,クライアントが発言できるように準備されたプロトコルを指定する。
set_alpn_select_callback(callback) Application Layer Protocol Negotiationでクライアントと接続されたとき,サーバが呼び出されるコールバック関数を指定する。
Connection objects
class -- OpenSSL.SSL.Connection(context, socket=None)
メソッド名 概要
accept() ソケット下にあるaccept()メソッドを呼び出し,返されたソケットにSSLを設定する。
bind(address) ソケット下にあるbind()メソッドを呼び出す。
close() ソケット下にあるclose()メソッドを呼び出す。
connect(address) ソケット下にあるconnect()メソッドを呼び出し,ソケットにSSLを設定する。
connect_ex(address) ソケット下にあるconnect_ex()メソッドを呼び出し,ソケットにSSLを設定する。
do_handshake() SSLハンドシェークを実行する。
fileno() ソケットのファイル記述子番号を取得する。
listen(backlog) ソケット下にあるlisten()メソッドを呼び出す。
get_app_data() set_app_data()で設定されたアプリケーションデータを取得する。
get_cipher_list() Connectionオブジェクトで利用する暗号リストを取得する。
get_protocol_version() Connectionで利用するSSLまたはTLSプロトコルのバージョンを取得する。
get_protocol_version_name() Connectionで利用するSSLまたはTLSプロトコルのバージョンをユニコード文字列で取得する。
get_client_ca_list() サーバからOpenSSL.crypto.X509Nameオブジェクトとして送信されたクライアント証明書の発行者リストを取得する。
get_context() このコネクションに関連したContextオブジェクトを取得する。
set_context(context) このコネクションのContextオブジェクトの変更を指定する。
get_peer_certificate() 相手側の証明書を取得する。
get_peer_cert_chain() 相手側の証明書チェーンのタプルを取得する。
getpeername() ソケット下にあるgetpeername()メソッドを呼び出す。
getsockname() ソケット下にあるgetsockname()メソッドを呼び出す。
getsockopt(level, optname[, buflen]) ソケット下にあるgetsockopt()メソッドを呼び出す。
pending() SSLバッファから安全に読み出せるバイト数を取得する。
recv(bufsize[, flags]) Connectionからデータを取得し,バッファに直接コピーする。
bio_write(bytes) ConnectionがメモリBIOで生成されていた場合,メモリBIOのバイトを追加することができる。
renegotiate() セッションを再接続する。
renegotiate_pending() 再接続状況を確認し,完了していたらFalseを返す。
total_renegotiations() 再接続の総数を確認する。
send(string) Connectionにstringデータを送信する。
bio_read(bufsize) ConnectionがメモリBIOで生成されていた場合,メモリBIOからデータを読み出すことができる。
sendall(string) Connectionにstringデータをすべて送信する。
set_accept_state() サーバモードで動作するようにコネクションを設定する。
set_app_data(data) Connectionオブジェクトにdataを関連付ける。
set_connect_state() クライアントモードで動作するようにコネクションを設定する。
setblocking(flag) ソケット下にあるsetblocking()メソッドを呼び出す。
setsockopt(level, optname, value) ソケット下にあるsetsocketopt()メソッドを呼び出す。
shutdown() Connectionにシャットダウンメッセージを送信する。
get_shutdown() Connectionのシャットダウン状態を取得する。
set_shutdown(state) Connectionのシャットダウン状態を設定する。
sock_shutdown(how) ソケット下にあるshutdown()メソッドを呼び出す。
bio_shutdown() ConnectionがメモリBIOで生成されていた場合,メモリBIOの読出し側ファイルの終端に達したことを示すことができる。
get_state_string() Connectionの状態の詳細を示す文字列を取得する。
client_random() Client Helloメッセージで利用された乱数値を取得する。
server_random() Server Helloメッセージで利用された乱数値を取得する。
master_key() このセッションのマスターキーの値を取得する。
want_read() 処理を完了するのにトランスポート層からさらにデータを読み出す必要があるかチェックする。
want_write() 処理を完了するのにトランスポート層にさらにデータを書き出す必要があるかチェックする。
set_tlsext_host_name(name) Client Helloメッセージでサーバ名として送信するバイト文字列を指定する。
get_servername() Client Helloメッセージで受け取ったサーバ名を取得する。
get_session() コネクションが利用しているSSLセッションを示すSessionインスタンスを取得する。
set_session(session) コネクションが利用する新しいSSLセッションを設定する。
get_finished() 送信した最新のTLS Finishedメッセージを取得する。
get_peer_finished() peerから期待される最新のTLS Finishedメッセージを取得する。
get_cipher_name() 現在利用している暗号の名称を取得する。
get_cipher_bits() 現在利用している暗号のビット数を取得する。
get_cipher_version() 現在利用している暗号のプロトコルバージョンを取得する。
get_cipher_proto_negotiated() Next Protocol Negotiationを利用して接続したプロトコルを取得する。
set_alpn_protos(protos) Application Layer Protocol Negotiationを利用してTLS接続された後,クライアントが発言できるように準備されたプロトコルを指定する。
get_alpn_proto_negotiated() Application Layer Protocol Negotiationで接続されたプロトコルを取得する。