This commit is contained in:
John Dennis 2014-10-27 13:02:58 -04:00
Родитель dcb47cf3d2
Коммит 28c2f9f46c
64 изменённых файлов: 6472 добавлений и 2244 удалений

Просмотреть файл

@ -80,7 +80,7 @@ nss.error.SEC_ERROR_OUTPUT_LEN nss.error-module.html#SEC_ERROR_OUTPUT_LEN
nss.error.PR_NETWORK_UNREACHABLE_ERROR nss.error-module.html#PR_NETWORK_UNREACHABLE_ERROR
nss.error.SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED nss.error-module.html#SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED
nss.error.PR_FILE_SEEK_ERROR nss.error-module.html#PR_FILE_SEEK_ERROR
nss.error.SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD
nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY
nss.error.SEC_ERROR_BAD_CRL_DP_URL nss.error-module.html#SEC_ERROR_BAD_CRL_DP_URL
nss.error.SSL_ERROR_RX_RECORD_TOO_LONG nss.error-module.html#SSL_ERROR_RX_RECORD_TOO_LONG
nss.error.PR_ACCESS_FAULT_ERROR nss.error-module.html#PR_ACCESS_FAULT_ERROR
@ -100,7 +100,7 @@ nss.error.SSL_ERROR_RENEGOTIATION_NOT_ALLOWED nss.error-module.html#SSL_ERROR_RE
nss.error.SSL_ERROR_REVOKED_CERT_ALERT nss.error-module.html#SSL_ERROR_REVOKED_CERT_ALERT
nss.error.SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED nss.error-module.html#SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED
nss.error.SEC_ERROR_TOKEN_NOT_LOGGED_IN nss.error-module.html#SEC_ERROR_TOKEN_NOT_LOGGED_IN
nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY
nss.error.SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD
nss.error.SEC_ERROR_OCSP_SERVER_ERROR nss.error-module.html#SEC_ERROR_OCSP_SERVER_ERROR
nss.error.SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT nss.error-module.html#SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT
nss.error.SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID
@ -217,6 +217,7 @@ nss.error.SEC_ERROR_READ_ONLY nss.error-module.html#SEC_ERROR_READ_ONLY
nss.error.SEC_ERROR_ADDING_CERT nss.error-module.html#SEC_ERROR_ADDING_CERT
nss.error.SEC_ERROR_NO_KEY nss.error-module.html#SEC_ERROR_NO_KEY
nss.error.SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE nss.error-module.html#SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE
nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_STATUS nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_STATUS
nss.error.SSL_ERROR_POST_WARNING nss.error-module.html#SSL_ERROR_POST_WARNING
nss.error.SEC_ERROR_BAD_SIGNATURE nss.error-module.html#SEC_ERROR_BAD_SIGNATURE
nss.error.PR_NOT_SAME_DEVICE_ERROR nss.error-module.html#PR_NOT_SAME_DEVICE_ERROR
@ -238,6 +239,7 @@ nss.error.SEC_ERROR_UNTRUSTED_CERT nss.error-module.html#SEC_ERROR_UNTRUSTED_CER
nss.error.PR_FILE_NOT_FOUND_ERROR nss.error-module.html#PR_FILE_NOT_FOUND_ERROR
nss.error.SSL_ERROR_HANDSHAKE_FAILURE_ALERT nss.error-module.html#SSL_ERROR_HANDSHAKE_FAILURE_ALERT
nss.error.SEC_ERROR_EXTRA_INPUT nss.error-module.html#SEC_ERROR_EXTRA_INPUT
nss.error.SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM nss.error-module.html#SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM
nss.error.SEC_ERROR_EXPIRED_CERTIFICATE nss.error-module.html#SEC_ERROR_EXPIRED_CERTIFICATE
nss.error.PR_SOCKET_ADDRESS_IS_BOUND_ERROR nss.error-module.html#PR_SOCKET_ADDRESS_IS_BOUND_ERROR
nss.error.XP_SEC_FORTEZZA_NO_MORE_INFO nss.error-module.html#XP_SEC_FORTEZZA_NO_MORE_INFO
@ -246,9 +248,11 @@ nss.error.SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY nss.error-module.html#SEC_ERROR_
nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST
nss.error.SEC_ERROR_DIGEST_NOT_FOUND nss.error-module.html#SEC_ERROR_DIGEST_NOT_FOUND
nss.error.PR_ADDRESS_IN_USE_ERROR nss.error-module.html#PR_ADDRESS_IN_USE_ERROR
nss.error.SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM nss.error-module.html#SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM
nss.error.SEC_ERROR_CA_CERT_INVALID nss.error-module.html#SEC_ERROR_CA_CERT_INVALID
nss.error.SSL_ERROR_SHA_DIGEST_FAILURE nss.error-module.html#SSL_ERROR_SHA_DIGEST_FAILURE
nss.error.SSL_ERROR_DECOMPRESSION_FAILURE nss.error-module.html#SSL_ERROR_DECOMPRESSION_FAILURE
nss.error.SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT nss.error-module.html#SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT
nss.error.SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER nss.error-module.html#SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER
nss.error.SSL_ERROR_RX_UNEXPECTED_HANDSHAKE nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_HANDSHAKE
nss.error.get_nspr_error_string nss.error-module.html#get_nspr_error_string
@ -315,9 +319,11 @@ nss.error.SEC_ERROR_KEYGEN_FAIL nss.error-module.html#SEC_ERROR_KEYGEN_FAIL
nss.error.SEC_ERROR_BAGGAGE_NOT_CREATED nss.error-module.html#SEC_ERROR_BAGGAGE_NOT_CREATED
nss.error.SEC_ERROR_INVALID_KEY nss.error-module.html#SEC_ERROR_INVALID_KEY
nss.error.PR_WOULD_BLOCK_ERROR nss.error-module.html#PR_WOULD_BLOCK_ERROR
nss.error.SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK
nss.error.SEC_ERROR_CRL_IMPORT_FAILED nss.error-module.html#SEC_ERROR_CRL_IMPORT_FAILED
nss.error.SEC_ERROR_NEED_RANDOM nss.error-module.html#SEC_ERROR_NEED_RANDOM
nss.error.SSL_ERROR_RECORD_OVERFLOW_ALERT nss.error-module.html#SSL_ERROR_RECORD_OVERFLOW_ALERT
nss.error.SSL_ERROR_DIGEST_FAILURE nss.error-module.html#SSL_ERROR_DIGEST_FAILURE
nss.error.SEC_ERROR_OCSP_REQUEST_NEEDS_SIG nss.error-module.html#SEC_ERROR_OCSP_REQUEST_NEEDS_SIG
nss.error.SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN nss.error-module.html#SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN
nss.error.SEC_ERROR_BAD_PASSWORD nss.error-module.html#SEC_ERROR_BAD_PASSWORD
@ -384,6 +390,7 @@ nss.error.XP_JAVA_REMOVE_PRINCIPAL_ERROR nss.error-module.html#XP_JAVA_REMOVE_PR
nss.error.SSL_ERROR_US_ONLY_SERVER nss.error-module.html#SSL_ERROR_US_ONLY_SERVER
nss.error.SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE nss.error-module.html#SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE
nss.error.SEC_ERROR_NOT_A_RECIPIENT nss.error-module.html#SEC_ERROR_NOT_A_RECIPIENT
nss.error.SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL
nss.error.SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST
nss.io nss.io-module.html
nss.io.PR_AI_ADDRCONFIG nss.io-module.html#PR_AI_ADDRCONFIG
@ -557,6 +564,7 @@ nss.nss.CKA_SUB_PRIME_BITS nss.nss-module.html#CKA_SUB_PRIME_BITS
nss.nss.CKA_SENSITIVE nss.nss-module.html#CKA_SENSITIVE
nss.nss.CKA_PRIME_BITS nss.nss-module.html#CKA_PRIME_BITS
nss.nss.CKM_KEA_KEY_DERIVE nss.nss-module.html#CKM_KEA_KEY_DERIVE
nss.nss.certURI nss.nss-module.html#certURI
nss.nss.SEC_OID_AVA_POSTAL_ADDRESS nss.nss-module.html#SEC_OID_AVA_POSTAL_ADDRESS
nss.nss.SEC_OID_PKCS12_SDSI_CERT_BAG nss.nss-module.html#SEC_OID_PKCS12_SDSI_CERT_BAG
nss.nss.SEC_OID_NS_CERT_EXT_CA_CRL_URL nss.nss-module.html#SEC_OID_NS_CERT_EXT_CA_CRL_URL
@ -568,9 +576,10 @@ nss.nss.SEC_OID_NS_KEY_USAGE_GOVT_APPROVED nss.nss-module.html#SEC_OID_NS_KEY_US
nss.nss.SEC_OID_PKCS12_X509_CERT_CRL_BAG nss.nss-module.html#SEC_OID_PKCS12_X509_CERT_CRL_BAG
nss.nss.CKA_START_DATE nss.nss-module.html#CKA_START_DATE
nss.nss.CKA_EC_PARAMS nss.nss-module.html#CKA_EC_PARAMS
nss.nss.certOtherName nss.nss-module.html#certOtherName
nss.nss.CKM_DES_CBC_ENCRYPT_DATA nss.nss-module.html#CKM_DES_CBC_ENCRYPT_DATA
nss.nss.x509_alt_name nss.nss-module.html#x509_alt_name
nss.nss.CKM_PBE_MD5_CAST5_CBC nss.nss-module.html#CKM_PBE_MD5_CAST5_CBC
nss.nss.CKM_SHA1_RSA_PKCS nss.nss-module.html#CKM_SHA1_RSA_PKCS
nss.nss.SEC_OID_SECG_EC_SECP256K1 nss.nss-module.html#SEC_OID_SECG_EC_SECP256K1
nss.nss.SEC_OID_SECG_EC_SECP224R1 nss.nss-module.html#SEC_OID_SECG_EC_SECP224R1
nss.nss.CKA_PUBLIC_EXPONENT nss.nss-module.html#CKA_PUBLIC_EXPONENT
@ -670,6 +679,7 @@ nss.nss.CKM_SKIPJACK_CFB8 nss.nss-module.html#CKM_SKIPJACK_CFB8
nss.nss.PK11CertListAll nss.nss-module.html#PK11CertListAll
nss.nss.CKA_ALLOWED_MECHANISMS nss.nss-module.html#CKA_ALLOWED_MECHANISMS
nss.nss.CKM_IDEA_MAC nss.nss-module.html#CKM_IDEA_MAC
nss.nss.base64_to_binary nss.nss-module.html#base64_to_binary
nss.nss.crlEntryReasonSuperseded nss.nss-module.html#crlEntryReasonSuperseded
nss.nss.CKM_CAST_ECB nss.nss-module.html#CKM_CAST_ECB
nss.nss.CKM_AES_CBC nss.nss-module.html#CKM_AES_CBC
@ -687,6 +697,7 @@ nss.nss.CKM_PBA_SHA1_WITH_SHA1_HMAC nss.nss-module.html#CKM_PBA_SHA1_WITH_SHA1_H
nss.nss.pub_wrap_sym_key nss.nss-module.html#pub_wrap_sym_key
nss.nss.x509_cert_type nss.nss-module.html#x509_cert_type
nss.nss.CKM_ECDSA_KEY_PAIR_GEN nss.nss-module.html#CKM_ECDSA_KEY_PAIR_GEN
nss.nss.secCertTimeExpired nss.nss-module.html#secCertTimeExpired
nss.nss.CKM_BATON_SHUFFLE nss.nss-module.html#CKM_BATON_SHUFFLE
nss.nss.certUsageObjectSigner nss.nss-module.html#certUsageObjectSigner
nss.nss.PK11_OriginUnwrap nss.nss-module.html#PK11_OriginUnwrap
@ -697,6 +708,7 @@ nss.nss.CKA_ALWAYS_SENSITIVE nss.nss-module.html#CKA_ALWAYS_SENSITIVE
nss.nss.CKA_CHAR_ROWS nss.nss-module.html#CKA_CHAR_ROWS
nss.nss.SEC_OID_SECG_EC_SECT193R2 nss.nss-module.html#SEC_OID_SECG_EC_SECT193R2
nss.nss.CKM_X9_42_MQV_DERIVE nss.nss-module.html#CKM_X9_42_MQV_DERIVE
nss.nss.SEC_OID_SECG_EC_SECP224K1 nss.nss-module.html#SEC_OID_SECG_EC_SECP224K1
nss.nss.SEC_OID_AVA_COMMON_NAME nss.nss-module.html#SEC_OID_AVA_COMMON_NAME
nss.nss.SEC_OID_ANSIX962_EC_C2PNB176V1 nss.nss-module.html#SEC_OID_ANSIX962_EC_C2PNB176V1
nss.nss.SEC_OID_EXT_KEY_USAGE_TIME_STAMP nss.nss-module.html#SEC_OID_EXT_KEY_USAGE_TIME_STAMP
@ -724,7 +736,6 @@ nss.nss.SEC_OID_NS_CERT_EXT_CA_POLICY_URL nss.nss-module.html#SEC_OID_NS_CERT_EX
nss.nss.SEC_OID_HMAC_SHA1 nss.nss-module.html#SEC_OID_HMAC_SHA1
nss.nss.CKA_HAS_RESET nss.nss-module.html#CKA_HAS_RESET
nss.nss.SEC_OID_NS_TYPE_JPEG nss.nss-module.html#SEC_OID_NS_TYPE_JPEG
nss.nss.CKM_TLS_KEY_AND_MAC_DERIVE nss.nss-module.html#CKM_TLS_KEY_AND_MAC_DERIVE
nss.nss.SEC_OID_ANSIX962_EC_C2PNB368W1 nss.nss-module.html#SEC_OID_ANSIX962_EC_C2PNB368W1
nss.nss.x509_key_usage nss.nss-module.html#x509_key_usage
nss.nss.SEC_OID_EXT_KEY_USAGE_CLIENT_AUTH nss.nss-module.html#SEC_OID_EXT_KEY_USAGE_CLIENT_AUTH
@ -740,7 +751,7 @@ nss.nss.CKM_KEY_WRAP_SET_OAEP nss.nss-module.html#CKM_KEY_WRAP_SET_OAEP
nss.nss.clear_ocsp_cache nss.nss-module.html#clear_ocsp_cache
nss.nss.SEC_OID_PKCS12_ENVELOPING_IDS nss.nss-module.html#SEC_OID_PKCS12_ENVELOPING_IDS
nss.nss.is_fips nss.nss-module.html#is_fips
nss.nss.SEC_OID_PKIX_REGINFO_UTF8_PAIRS nss.nss-module.html#SEC_OID_PKIX_REGINFO_UTF8_PAIRS
nss.nss.SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION nss.nss-module.html#SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION
nss.nss.CKM_CAST5_KEY_GEN nss.nss-module.html#CKM_CAST5_KEY_GEN
nss.nss.SEC_OID_X509_EXT_KEY_USAGE nss.nss-module.html#SEC_OID_X509_EXT_KEY_USAGE
nss.nss.CKM_DES3_MAC_GENERAL nss.nss-module.html#CKM_DES3_MAC_GENERAL
@ -791,9 +802,9 @@ nss.nss.decode_der_crl nss.nss-module.html#decode_der_crl
nss.nss.nss_init nss.nss-module.html#nss_init
nss.nss.CKA_BITS_PER_PIXEL nss.nss-module.html#CKA_BITS_PER_PIXEL
nss.nss.certificateUsageSSLCA nss.nss-module.html#certificateUsageSSLCA
nss.nss.crlEntryReasonKeyCompromise nss.nss-module.html#crlEntryReasonKeyCompromise
nss.nss.SEC_OID_PKIX_REGINFO_UTF8_PAIRS nss.nss-module.html#SEC_OID_PKIX_REGINFO_UTF8_PAIRS
nss.nss.SEC_OID_PKIX_OCSP_ARCHIVE_CUTOFF nss.nss-module.html#SEC_OID_PKIX_OCSP_ARCHIVE_CUTOFF
nss.nss.SEC_OID_SECG_EC_SECP224K1 nss.nss-module.html#SEC_OID_SECG_EC_SECP224K1
nss.nss.CKM_RC5_ECB nss.nss-module.html#CKM_RC5_ECB
nss.nss.SEC_OID_SECG_EC_SECT193R1 nss.nss-module.html#SEC_OID_SECG_EC_SECT193R1
nss.nss.CKA_VALUE nss.nss-module.html#CKA_VALUE
nss.nss.CKM_CAST5_MAC nss.nss-module.html#CKM_CAST5_MAC
@ -806,7 +817,7 @@ nss.nss.CKM_PBE_MD5_CAST_CBC nss.nss-module.html#CKM_PBE_MD5_CAST_CBC
nss.nss.find_cert_from_nickname nss.nss-module.html#find_cert_from_nickname
nss.nss.PK11CertListUserUnique nss.nss-module.html#PK11CertListUserUnique
nss.nss.CKM_SHA224 nss.nss-module.html#CKM_SHA224
nss.nss.CKM_RC5_ECB nss.nss-module.html#CKM_RC5_ECB
nss.nss.CERTDB_VALID_CA nss.nss-module.html#CERTDB_VALID_CA
nss.nss.SEC_OID_X509_HOLD_INSTRUCTION_CODE nss.nss-module.html#SEC_OID_X509_HOLD_INSTRUCTION_CODE
nss.nss.CKM_SHA384_KEY_DERIVATION nss.nss-module.html#CKM_SHA384_KEY_DERIVATION
nss.nss.KU_ALL nss.nss-module.html#KU_ALL
@ -818,6 +829,7 @@ nss.nss.algtag_to_mechanism nss.nss-module.html#algtag_to_mechanism
nss.nss.CKM_SEED_CBC_PAD nss.nss-module.html#CKM_SEED_CBC_PAD
nss.nss.SEC_OID_ANSIX962_EC_PRIME256V1 nss.nss-module.html#SEC_OID_ANSIX962_EC_PRIME256V1
nss.nss.nullKey nss.nss-module.html#nullKey
nss.nss.CERTDB_USER nss.nss-module.html#CERTDB_USER
nss.nss.CKM_CAST_MAC_GENERAL nss.nss-module.html#CKM_CAST_MAC_GENERAL
nss.nss.SEC_OID_PKIX_REGINFO_CERT_REQUEST nss.nss-module.html#SEC_OID_PKIX_REGINFO_CERT_REQUEST
nss.nss.CKM_SHA_1_HMAC nss.nss-module.html#CKM_SHA_1_HMAC
@ -853,7 +865,7 @@ nss.nss.SEC_OID_MISSI_DSS nss.nss-module.html#SEC_OID_MISSI_DSS
nss.nss.SEC_OID_HMAC_SHA224 nss.nss-module.html#SEC_OID_HMAC_SHA224
nss.nss.create_digest_context nss.nss-module.html#create_digest_context
nss.nss.crlEntryReasonCaCompromise nss.nss-module.html#crlEntryReasonCaCompromise
nss.nss.CKM_X9_42_DH_DERIVE nss.nss-module.html#CKM_X9_42_DH_DERIVE
nss.nss.CKA_ALWAYS_AUTHENTICATE nss.nss-module.html#CKA_ALWAYS_AUTHENTICATE
nss.nss.SEC_OID_ANSIX962_EC_C2TNB431R1 nss.nss-module.html#SEC_OID_ANSIX962_EC_C2TNB431R1
nss.nss.enable_ocsp_default_responder nss.nss-module.html#enable_ocsp_default_responder
nss.nss.ssl_kea_fortezza nss.nss-module.html#ssl_kea_fortezza
@ -879,7 +891,7 @@ nss.nss.hash_buf nss.nss-module.html#hash_buf
nss.nss.indented_format nss.nss-module.html#indented_format
nss.nss.CKA_OBJECT_ID nss.nss-module.html#CKA_OBJECT_ID
nss.nss.read_hex nss.nss-module.html#read_hex
nss.nss.certUsageSSLCA nss.nss-module.html#certUsageSSLCA
nss.nss.CERTDB_TRUSTED_CLIENT_CA nss.nss-module.html#CERTDB_TRUSTED_CLIENT_CA
nss.nss.cert_general_name_type_from_name nss.nss-module.html#cert_general_name_type_from_name
nss.nss.SEC_OID_SHA1 nss.nss-module.html#SEC_OID_SHA1
nss.nss.CKM_DES_CFB8 nss.nss-module.html#CKM_DES_CFB8
@ -915,7 +927,7 @@ nss.nss.read_der_from_file nss.nss-module.html#read_der_from_file
nss.nss.certificateUsageAnyCA nss.nss-module.html#certificateUsageAnyCA
nss.nss.SEC_OID_SECG_EC_SECT239K1 nss.nss-module.html#SEC_OID_SECG_EC_SECT239K1
nss.nss.SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST nss.nss-module.html#SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST
nss.nss.certURI nss.nss-module.html#certURI
nss.nss.CERTDB_TERMINAL_RECORD nss.nss-module.html#CERTDB_TERMINAL_RECORD
nss.nss.SEC_OID_PKCS9_SMIME_CAPABILITIES nss.nss-module.html#SEC_OID_PKCS9_SMIME_CAPABILITIES
nss.nss.certificateUsageSSLServer nss.nss-module.html#certificateUsageSSLServer
nss.nss.SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION nss.nss-module.html#SEC_OID_PKCS1_SHA512_WITH_RSA_ENCRYPTION
@ -945,10 +957,9 @@ nss.nss.CKM_PKCS5_PBKD2 nss.nss-module.html#CKM_PKCS5_PBKD2
nss.nss.CKA_EXPONENT_2 nss.nss-module.html#CKA_EXPONENT_2
nss.nss.find_slot_by_name nss.nss-module.html#find_slot_by_name
nss.nss.CKM_DH_PKCS_KEY_PAIR_GEN nss.nss-module.html#CKM_DH_PKCS_KEY_PAIR_GEN
nss.nss.secCertTimeExpired nss.nss-module.html#secCertTimeExpired
nss.nss.SEC_OID_NS_CERT_EXT_ISSUER_LOGO nss.nss-module.html#SEC_OID_NS_CERT_EXT_ISSUER_LOGO
nss.nss.pk11_attribute_type_name nss.nss-module.html#pk11_attribute_type_name
nss.nss.SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION nss.nss-module.html#SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION
nss.nss.SEC_OID_PKCS12_PBE_IDS nss.nss-module.html#SEC_OID_PKCS12_PBE_IDS
nss.nss.CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC nss.nss-module.html#CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC
nss.nss.SEC_OID_MISSI_KEA_DSS nss.nss-module.html#SEC_OID_MISSI_KEA_DSS
nss.nss.CKM_CAST3_CBC_PAD nss.nss-module.html#CKM_CAST3_CBC_PAD
@ -965,6 +976,7 @@ nss.nss.SEC_OID_PKIX_OCSP_RESPONSE nss.nss-module.html#SEC_OID_PKIX_OCSP_RESPONS
nss.nss.certificateUsageProtectedObjectSigner nss.nss-module.html#certificateUsageProtectedObjectSigner
nss.nss.SEC_OID_PKCS12_PKCS8_KEY_SHROUDING nss.nss-module.html#SEC_OID_PKCS12_PKCS8_KEY_SHROUDING
nss.nss.nss_get_version nss.nss-module.html#nss_get_version
nss.nss.CERTDB_NS_TRUSTED_CA nss.nss-module.html#CERTDB_NS_TRUSTED_CA
nss.nss.SEC_OID_PKIX_OCSP_SERVICE_LOCATOR nss.nss-module.html#SEC_OID_PKIX_OCSP_SERVICE_LOCATOR
nss.nss.CKA_KEY_GEN_MECHANISM nss.nss-module.html#CKA_KEY_GEN_MECHANISM
nss.nss.SEC_OID_PKCS12_CERT_BAG_IDS nss.nss-module.html#SEC_OID_PKCS12_CERT_BAG_IDS
@ -1037,7 +1049,7 @@ nss.nss.CKM_JUNIPER_ECB128 nss.nss-module.html#CKM_JUNIPER_ECB128
nss.nss.SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE nss.nss-module.html#SEC_OID_ANSIX962_ECDSA_SHA512_SIGNATURE
nss.nss.CKA_JAVA_MIDP_SECURITY_DOMAIN nss.nss-module.html#CKA_JAVA_MIDP_SECURITY_DOMAIN
nss.nss.CKM_CAST3_CBC nss.nss-module.html#CKM_CAST3_CBC
nss.nss.CKA_ALWAYS_AUTHENTICATE nss.nss-module.html#CKA_ALWAYS_AUTHENTICATE
nss.nss.CKM_X9_42_DH_DERIVE nss.nss-module.html#CKM_X9_42_DH_DERIVE
nss.nss.CKA_MODIFIABLE nss.nss-module.html#CKA_MODIFIABLE
nss.nss.CKM_RC5_CBC nss.nss-module.html#CKM_RC5_CBC
nss.nss.PK11CertListCA nss.nss-module.html#PK11CertListCA
@ -1060,7 +1072,7 @@ nss.nss.CKM_SKIPJACK_CFB64 nss.nss-module.html#CKM_SKIPJACK_CFB64
nss.nss.CRL_DECODE_DEFAULT_OPTIONS nss.nss-module.html#CRL_DECODE_DEFAULT_OPTIONS
nss.nss.CKM_JUNIPER_KEY_GEN nss.nss-module.html#CKM_JUNIPER_KEY_GEN
nss.nss.relativeDistinguishedName nss.nss-module.html#relativeDistinguishedName
nss.nss.CKM_RC2_MAC_GENERAL nss.nss-module.html#CKM_RC2_MAC_GENERAL
nss.nss.CKM_TLS_KEY_AND_MAC_DERIVE nss.nss-module.html#CKM_TLS_KEY_AND_MAC_DERIVE
nss.nss.CKM_SHA384_RSA_PKCS_PSS nss.nss-module.html#CKM_SHA384_RSA_PKCS_PSS
nss.nss.SEC_OID_NS_CERT_EXT_CA_CERT_URL nss.nss-module.html#SEC_OID_NS_CERT_EXT_CA_CERT_URL
nss.nss.AsEnum nss.nss-module.html#AsEnum
@ -1118,12 +1130,13 @@ nss.nss.CKA_CHAR_COLUMNS nss.nss-module.html#CKA_CHAR_COLUMNS
nss.nss.SEC_OID_ANSIX962_EC_C2PNB208W1 nss.nss-module.html#SEC_OID_ANSIX962_EC_C2PNB208W1
nss.nss.find_key_by_any_cert nss.nss-module.html#find_key_by_any_cert
nss.nss.CKM_ECMQV_DERIVE nss.nss-module.html#CKM_ECMQV_DERIVE
nss.nss.CERTDB_GOVT_APPROVED_CA nss.nss-module.html#CERTDB_GOVT_APPROVED_CA
nss.nss.SEC_OID_AVA_ORGANIZATION_NAME nss.nss-module.html#SEC_OID_AVA_ORGANIZATION_NAME
nss.nss.oid_tag nss.nss-module.html#oid_tag
nss.nss.pk11_attribute_type_from_name nss.nss-module.html#pk11_attribute_type_from_name
nss.nss.CKM_PBE_SHA1_RC2_128_CBC nss.nss-module.html#CKM_PBE_SHA1_RC2_128_CBC
nss.nss.CKM_FORTEZZA_TIMESTAMP nss.nss-module.html#CKM_FORTEZZA_TIMESTAMP
nss.nss.SEC_OID_PKCS12_PBE_IDS nss.nss-module.html#SEC_OID_PKCS12_PBE_IDS
nss.nss.CERTDB_TRUSTED nss.nss-module.html#CERTDB_TRUSTED
nss.nss.CKM_PBE_MD2_DES_CBC nss.nss-module.html#CKM_PBE_MD2_DES_CBC
nss.nss.CKM_SHA512_HMAC_GENERAL nss.nss-module.html#CKM_SHA512_HMAC_GENERAL
nss.nss.NSS_INIT_PK11RELOAD nss.nss-module.html#NSS_INIT_PK11RELOAD
@ -1161,6 +1174,7 @@ nss.nss.CKM_JUNIPER_WRAP nss.nss-module.html#CKM_JUNIPER_WRAP
nss.nss.CKM_SHA256_KEY_DERIVATION nss.nss-module.html#CKM_SHA256_KEY_DERIVATION
nss.nss.CKM_CAMELLIA_KEY_GEN nss.nss-module.html#CKM_CAMELLIA_KEY_GEN
nss.nss.SEC_OID_PKCS12_CERT_AND_CRL_BAG_ID nss.nss-module.html#SEC_OID_PKCS12_CERT_AND_CRL_BAG_ID
nss.nss.certUsageSSLCA nss.nss-module.html#certUsageSSLCA
nss.nss.SEC_OID_CAMELLIA_256_CBC nss.nss-module.html#SEC_OID_CAMELLIA_256_CBC
nss.nss.SEC_OID_X509_INVALID_DATE nss.nss-module.html#SEC_OID_X509_INVALID_DATE
nss.nss.CKM_CMS_SIG nss.nss-module.html#CKM_CMS_SIG
@ -1205,8 +1219,8 @@ nss.nss.CKA_MODULUS_BITS nss.nss-module.html#CKA_MODULUS_BITS
nss.nss.SEC_OID_SECG_EC_SECT233R1 nss.nss-module.html#SEC_OID_SECG_EC_SECT233R1
nss.nss.CKM_JUNIPER_SHUFFLE nss.nss-module.html#CKM_JUNIPER_SHUFFLE
nss.nss.PK11_DIS_COULD_NOT_INIT_TOKEN nss.nss-module.html#PK11_DIS_COULD_NOT_INIT_TOKEN
nss.nss.certOtherName nss.nss-module.html#certOtherName
nss.nss.CKM_SHA1_RSA_PKCS nss.nss-module.html#CKM_SHA1_RSA_PKCS
nss.nss.CERTDB_SEND_WARN nss.nss-module.html#CERTDB_SEND_WARN
nss.nss.CKM_PBE_MD5_CAST5_CBC nss.nss-module.html#CKM_PBE_MD5_CAST5_CBC
nss.nss.crlEntryReasonPrivilegeWithdrawn nss.nss-module.html#crlEntryReasonPrivilegeWithdrawn
nss.nss.CKM_SHA384_HMAC nss.nss-module.html#CKM_SHA384_HMAC
nss.nss.CKM_MD2_HMAC nss.nss-module.html#CKM_MD2_HMAC
@ -1229,6 +1243,7 @@ nss.nss.SEC_OID_PKCS5_PBE_WITH_MD5_AND_DES_CBC nss.nss-module.html#SEC_OID_PKCS5
nss.nss.SEC_OID_HMAC_SHA512 nss.nss-module.html#SEC_OID_HMAC_SHA512
nss.nss.CKM_SKIPJACK_WRAP nss.nss-module.html#CKM_SKIPJACK_WRAP
nss.nss.CKA_BASE nss.nss-module.html#CKA_BASE
nss.nss.crlEntryReasonKeyCompromise nss.nss-module.html#crlEntryReasonKeyCompromise
nss.nss.CKM_CAST_KEY_GEN nss.nss-module.html#CKM_CAST_KEY_GEN
nss.nss.CKM_SHA1_RSA_X9_31 nss.nss-module.html#CKM_SHA1_RSA_X9_31
nss.nss.ocspMode_FailureIsNotAVerificationFailure nss.nss-module.html#ocspMode_FailureIsNotAVerificationFailure
@ -1249,6 +1264,7 @@ nss.nss.CKA_LOCAL nss.nss-module.html#CKA_LOCAL
nss.nss.SEC_OID_AES_192_ECB nss.nss-module.html#SEC_OID_AES_192_ECB
nss.nss.import_sym_key nss.nss-module.html#import_sym_key
nss.nss.SEC_OID_AES_256_ECB nss.nss-module.html#SEC_OID_AES_256_ECB
nss.nss.CERTDB_TRUSTED_CA nss.nss-module.html#CERTDB_TRUSTED_CA
nss.nss.CKM_SSL3_SHA1_MAC nss.nss-module.html#CKM_SSL3_SHA1_MAC
nss.nss.CKM_CAST3_ECB nss.nss-module.html#CKM_CAST3_ECB
nss.nss.CKM_RC5_KEY_GEN nss.nss-module.html#CKM_RC5_KEY_GEN
@ -1262,6 +1278,7 @@ nss.nss.certUsageAnyCA nss.nss-module.html#certUsageAnyCA
nss.nss.cert_type_flags nss.nss-module.html#cert_type_flags
nss.nss.CKM_DES3_ECB nss.nss-module.html#CKM_DES3_ECB
nss.nss.SEC_OID_PKCS7_ENCRYPTED_DATA nss.nss-module.html#SEC_OID_PKCS7_ENCRYPTED_DATA
nss.nss.CKM_RC2_MAC_GENERAL nss.nss-module.html#CKM_RC2_MAC_GENERAL
nss.nss.SEC_OID_AVA_DN_QUALIFIER nss.nss-module.html#SEC_OID_AVA_DN_QUALIFIER
nss.nss.CKM_CAST_MAC nss.nss-module.html#CKM_CAST_MAC
nss.nss.find_certs_from_nickname nss.nss-module.html#find_certs_from_nickname
@ -1321,127 +1338,223 @@ nss.nss.SEC_OID_RC4 nss.nss-module.html#SEC_OID_RC4
nss.nss.CKM_DSA nss.nss-module.html#CKM_DSA
nss.nss.SEC_OID_AVA_LOCALITY nss.nss-module.html#SEC_OID_AVA_LOCALITY
nss.ssl nss.ssl-module.html
nss.ssl.TLS_EMPTY_RENEGOTIATION_INFO_SCSV nss.ssl-module.html#TLS_EMPTY_RENEGOTIATION_INFO_SCSV
nss.ssl.TLS_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.SSL_ENABLE_TLS nss.ssl-module.html#SSL_ENABLE_TLS
nss.ssl.SSL_VARIANT_STREAM nss.ssl-module.html#SSL_VARIANT_STREAM
nss.ssl.SSL_DH_ANON_EXPORT_WITH_RC4_40_MD5 nss.ssl-module.html#SSL_DH_ANON_EXPORT_WITH_RC4_40_MD5
nss.ssl.TLS_ECDHE_ECDSA_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_NULL_SHA
nss.ssl.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
nss.ssl.SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
nss.ssl.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 nss.ssl-module.html#TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
nss.ssl.clear_session_cache nss.ssl-module.html#clear_session_cache
nss.ssl.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
nss.ssl.SSL_REQUIRE_NO_ERROR nss.ssl-module.html#SSL_REQUIRE_NO_ERROR
nss.ssl.SSL_CK_DES_64_CBC_WITH_MD5 nss.ssl-module.html#SSL_CK_DES_64_CBC_WITH_MD5
nss.ssl.SSL_SECURITY_STATUS_ON_LOW nss.ssl-module.html#SSL_SECURITY_STATUS_ON_LOW
nss.ssl.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 nss.ssl-module.html#TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
nss.ssl.get_ssl_default_option nss.ssl-module.html#get_ssl_default_option
nss.ssl.SSL_RSA_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_RSA_WITH_DES_CBC_SHA
nss.ssl.TLS_ECDH_anon_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDH_anon_WITH_NULL_SHA
nss.ssl.get_default_ssl_version_range nss.ssl-module.html#get_default_ssl_version_range
nss.ssl.TLS_DH_RSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_WITH_AES_128_CBC_SHA
nss.ssl.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.TLS_ECDHE_ECDSA_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_NULL_SHA
nss.ssl.TLS_DH_DSS_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_DH_DSS_WITH_DES_CBC_SHA
nss.ssl.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA nss.ssl-module.html#TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
nss.ssl.TLS_DHE_DSS_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_WITH_DES_CBC_SHA
nss.ssl.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
nss.ssl.SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 nss.ssl-module.html#SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
nss.ssl.SSL_RSA_FIPS_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_RSA_FIPS_WITH_DES_CBC_SHA
nss.ssl.TLS_RSA_WITH_RC4_128_SHA nss.ssl-module.html#TLS_RSA_WITH_RC4_128_SHA
nss.ssl.TLS_RSA_EXPORT_WITH_RC4_40_MD5 nss.ssl-module.html#TLS_RSA_EXPORT_WITH_RC4_40_MD5
nss.ssl.TLS_RSA_WITH_AES_128_CBC_SHA256 nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA256
nss.ssl.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
nss.ssl.TLS_DHE_DSS_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_CBC_SHA
nss.ssl.SSL_RSA_WITH_NULL_SHA nss.ssl-module.html#SSL_RSA_WITH_NULL_SHA
nss.ssl.set_domestic_policy nss.ssl-module.html#set_domestic_policy
nss.ssl.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
nss.ssl.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
nss.ssl.ssl_cipher_suite_name nss.ssl-module.html#ssl_cipher_suite_name
nss.ssl.get_max_server_cache_locks nss.ssl-module.html#get_max_server_cache_locks
nss.ssl.SSL_VARIANT_DATAGRAM nss.ssl-module.html#SSL_VARIANT_DATAGRAM
nss.ssl.get_cipher_policy nss.ssl-module.html#get_cipher_policy
nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
nss.ssl.SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA
nss.ssl.TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA
nss.ssl.TLS_RSA_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA
nss.ssl.SSL_CK_RC4_128_EXPORT40_WITH_MD5 nss.ssl-module.html#SSL_CK_RC4_128_EXPORT40_WITH_MD5
nss.ssl.SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA
nss.ssl.SSL_NULL_WITH_NULL_NULL nss.ssl-module.html#SSL_NULL_WITH_NULL_NULL
nss.ssl.TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.SSL_CK_IDEA_128_CBC_WITH_MD5 nss.ssl-module.html#SSL_CK_IDEA_128_CBC_WITH_MD5
nss.ssl.SSL_DH_ANON_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_DH_ANON_WITH_3DES_EDE_CBC_SHA
nss.ssl.TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA
nss.ssl.TLS_RSA_WITH_NULL_SHA nss.ssl-module.html#TLS_RSA_WITH_NULL_SHA
nss.ssl.SSL_RSA_WITH_RC4_128_MD5 nss.ssl-module.html#SSL_RSA_WITH_RC4_128_MD5
nss.ssl.get_default_cipher_pref nss.ssl-module.html#get_default_cipher_pref
nss.ssl.TLS_ECDH_anon_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_ECDH_anon_WITH_AES_128_CBC_SHA
nss.ssl.set_max_server_cache_locks nss.ssl-module.html#set_max_server_cache_locks
nss.ssl.TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA nss.ssl-module.html#TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA
nss.ssl.ssl_cipher_suite_from_name nss.ssl-module.html#ssl_cipher_suite_from_name
nss.ssl.TLS_RSA_WITH_IDEA_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_IDEA_CBC_SHA
nss.ssl.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
nss.ssl.SSL_NO_CACHE nss.ssl-module.html#SSL_NO_CACHE
nss.ssl.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
nss.ssl.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
nss.ssl.SSL_LIBRARY_VERSION_TLS_1_3 nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_3
nss.ssl.SSL_LIBRARY_VERSION_TLS_1_2 nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_2
nss.ssl.SSL_LIBRARY_VERSION_TLS_1_1 nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_1
nss.ssl.SSL_LIBRARY_VERSION_TLS_1_0 nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_0
nss.ssl.SSL_DH_ANON_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#SSL_DH_ANON_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.SSL_RSA_WITH_NULL_MD5 nss.ssl-module.html#SSL_RSA_WITH_NULL_MD5
nss.ssl.SSL_EN_RC2_128_CBC_WITH_MD5 nss.ssl-module.html#SSL_EN_RC2_128_CBC_WITH_MD5
nss.ssl.TLS_ECDH_ECDSA_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_NULL_SHA
nss.ssl.SSL_RESTRICTED nss.ssl-module.html#SSL_RESTRICTED
nss.ssl.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
nss.ssl.set_france_policy nss.ssl-module.html#set_france_policy
nss.ssl.SSL_RSA_WITH_IDEA_CBC_SHA nss.ssl-module.html#SSL_RSA_WITH_IDEA_CBC_SHA
nss.ssl.SSL_REQUIRE_NEVER nss.ssl-module.html#SSL_REQUIRE_NEVER
nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
nss.ssl.get_ssl_default_option nss.ssl-module.html#get_ssl_default_option
nss.ssl.SSL_CK_RC4_128_WITH_MD5 nss.ssl-module.html#SSL_CK_RC4_128_WITH_MD5
nss.ssl.tls1.0 nss.ssl-module.html#tls1.0
nss.ssl.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.SSL_SECURITY_STATUS_NOOPT nss.ssl-module.html#SSL_SECURITY_STATUS_NOOPT
nss.ssl.TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.shutdown_server_session_id_cache nss.ssl-module.html#shutdown_server_session_id_cache
nss.ssl.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.SSL_ENABLE_FDX nss.ssl-module.html#SSL_ENABLE_FDX
nss.ssl.TLS_RSA_WITH_NULL_SHA256 nss.ssl-module.html#TLS_RSA_WITH_NULL_SHA256
nss.ssl.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.SSL_SECURITY_STATUS_OFF nss.ssl-module.html#SSL_SECURITY_STATUS_OFF
nss.ssl.tls1.3 nss.ssl-module.html#tls1.3
nss.ssl.SSL_V2_COMPATIBLE_HELLO nss.ssl-module.html#SSL_V2_COMPATIBLE_HELLO
nss.ssl.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.config_mp_server_sid_cache nss.ssl-module.html#config_mp_server_sid_cache
nss.ssl.get_ssl_version_from_major_minor nss.ssl-module.html#get_ssl_version_from_major_minor
nss.ssl.SSL_CK_RC2_128_CBC_WITH_MD5 nss.ssl-module.html#SSL_CK_RC2_128_CBC_WITH_MD5
nss.ssl.TLS_DHE_RSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA
nss.ssl.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
nss.ssl.TLS_DHE_DSS_WITH_RC4_128_SHA nss.ssl-module.html#TLS_DHE_DSS_WITH_RC4_128_SHA
nss.ssl.SSL_EN_RC4_128_WITH_MD5 nss.ssl-module.html#SSL_EN_RC4_128_WITH_MD5
nss.ssl.SSL_LIBRARY_VERSION_2 nss.ssl-module.html#SSL_LIBRARY_VERSION_2
nss.ssl.TLS_DH_ANON_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_DH_ANON_WITH_AES_128_CBC_SHA
nss.ssl.SSL_NO_LOCKS nss.ssl-module.html#SSL_NO_LOCKS
nss.ssl.SRTP_NULL_HMAC_SHA1_32 nss.ssl-module.html#SRTP_NULL_HMAC_SHA1_32
nss.ssl.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
nss.ssl.ssl_implemented_ciphers nss.ssl-module.html#ssl_implemented_ciphers
nss.ssl.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
nss.ssl.TLS_ECDH_ECDSA_WITH_RC4_128_SHA nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_RC4_128_SHA
nss.ssl.SSL_SECURITY nss.ssl-module.html#SSL_SECURITY
nss.ssl.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA nss.ssl-module.html#TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA
nss.ssl.TLS_ECDH_anon_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_ECDH_anon_WITH_AES_128_CBC_SHA
nss.ssl.TLS_DHE_DSS_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_256_CBC_SHA
nss.ssl.nss_shutdown nss.ssl-module.html#nss_shutdown
nss.ssl.TLS_RSA_WITH_RC4_128_MD5 nss.ssl-module.html#TLS_RSA_WITH_RC4_128_MD5
nss.ssl.get_cipher_suite_info nss.ssl-module.html#get_cipher_suite_info
nss.ssl.SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA
nss.ssl.SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.nss_init nss.ssl-module.html#nss_init
nss.ssl.TLS_NULL_WITH_NULL_NULL nss.ssl-module.html#TLS_NULL_WITH_NULL_NULL
nss.ssl.get_default_cipher_pref nss.ssl-module.html#get_default_cipher_pref
nss.ssl.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA
nss.ssl.SSL_REQUIRE_FIRST_HANDSHAKE nss.ssl-module.html#SSL_REQUIRE_FIRST_HANDSHAKE
nss.ssl.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA nss.ssl-module.html#TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA
nss.ssl.SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.set_export_policy nss.ssl-module.html#set_export_policy
nss.ssl.TLS_ECDH_RSA_WITH_RC4_128_SHA nss.ssl-module.html#TLS_ECDH_RSA_WITH_RC4_128_SHA
nss.ssl.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
nss.ssl.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
nss.ssl.SSL_SOCKS nss.ssl-module.html#SSL_SOCKS
nss.ssl.SSL_HANDSHAKE_AS_CLIENT nss.ssl-module.html#SSL_HANDSHAKE_AS_CLIENT
nss.ssl.TLS_ECDHE_RSA_WITH_RC4_128_SHA nss.ssl-module.html#TLS_ECDHE_RSA_WITH_RC4_128_SHA
nss.ssl.SRTP_NULL_HMAC_SHA1_80 nss.ssl-module.html#SRTP_NULL_HMAC_SHA1_80
nss.ssl.TLS_DH_ANON_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_DH_ANON_WITH_AES_256_CBC_SHA
nss.ssl.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA
nss.ssl.TLS_RSA_WITH_AES_256_CBC_SHA256 nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA256
nss.ssl.SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.SSL_EN_RC4_128_EXPORT40_WITH_MD5 nss.ssl-module.html#SSL_EN_RC4_128_EXPORT40_WITH_MD5
nss.ssl.SSL_HANDSHAKE_AS_SERVER nss.ssl-module.html#SSL_HANDSHAKE_AS_SERVER
nss.ssl.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
nss.ssl.set_max_server_cache_locks nss.ssl-module.html#set_max_server_cache_locks
nss.ssl.SSL_NO_STEP_DOWN nss.ssl-module.html#SSL_NO_STEP_DOWN
nss.ssl.TLS_ECDH_anon_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDH_anon_WITH_NULL_SHA
nss.ssl.TLS_FALLBACK_SCSV nss.ssl-module.html#TLS_FALLBACK_SCSV
nss.ssl.SRTP_AES128_CM_HMAC_SHA1_32 nss.ssl-module.html#SRTP_AES128_CM_HMAC_SHA1_32
nss.ssl.SSL_EN_DES_64_CBC_WITH_MD5 nss.ssl-module.html#SSL_EN_DES_64_CBC_WITH_MD5
nss.ssl.TLS_ECDH_RSA_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDH_RSA_WITH_NULL_SHA
nss.ssl.TLS_DH_RSA_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_WITH_DES_CBC_SHA
nss.ssl.TLS_DH_anon_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_DH_anon_WITH_AES_128_CBC_SHA
nss.ssl.ssl2 nss.ssl-module.html#ssl2
nss.ssl.ssl3 nss.ssl-module.html#ssl3
nss.ssl.TLS_DH_anon_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_DH_anon_WITH_DES_CBC_SHA
nss.ssl.TLS_DH_anon_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_DH_anon_WITH_AES_256_CBC_SHA
nss.ssl.TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA nss.ssl-module.html#TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA
nss.ssl.TLS_ECDH_anon_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_ECDH_anon_WITH_AES_256_CBC_SHA
nss.ssl.SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.set_default_cipher_pref nss.ssl-module.html#set_default_cipher_pref
nss.ssl.SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5 nss.ssl-module.html#SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5
nss.ssl.SSL_DHE_DSS_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_DHE_DSS_WITH_DES_CBC_SHA
nss.ssl.TLS_DH_RSA_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_WITH_AES_256_CBC_SHA
nss.ssl.SRTP_AES128_CM_HMAC_SHA1_80 nss.ssl-module.html#SRTP_AES128_CM_HMAC_SHA1_80
nss.ssl.set_cipher_policy nss.ssl-module.html#set_cipher_policy
nss.ssl.TLS_DHE_RSA_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_DHE_RSA_WITH_DES_CBC_SHA
nss.ssl.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
nss.ssl.SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA
nss.ssl.TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
nss.ssl.SSL_REQUIRE_CERTIFICATE nss.ssl-module.html#SSL_REQUIRE_CERTIFICATE
nss.ssl.SSL_NOT_ALLOWED nss.ssl-module.html#SSL_NOT_ALLOWED
nss.ssl.TLS_DH_DSS_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_DH_DSS_WITH_AES_256_CBC_SHA
nss.ssl.TLS_RSA_WITH_NULL_MD5 nss.ssl-module.html#TLS_RSA_WITH_NULL_MD5
nss.ssl.config_server_session_id_cache nss.ssl-module.html#config_server_session_id_cache
nss.ssl.TLS_RSA_WITH_AES_128_GCM_SHA256 nss.ssl-module.html#TLS_RSA_WITH_AES_128_GCM_SHA256
nss.ssl.set_ssl_default_option nss.ssl-module.html#set_ssl_default_option
nss.ssl.SSL_DH_ANON_WITH_RC4_128_MD5 nss.ssl-module.html#SSL_DH_ANON_WITH_RC4_128_MD5
nss.ssl.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA nss.ssl-module.html#TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
nss.ssl.TLS_ECDHE_RSA_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDHE_RSA_WITH_NULL_SHA
nss.ssl.shutdown_server_session_id_cache nss.ssl-module.html#shutdown_server_session_id_cache
nss.ssl.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.SSL_DH_RSA_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_DH_RSA_WITH_DES_CBC_SHA
nss.ssl.SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA
nss.ssl.SSL_LIBRARY_VERSION_3_0 nss.ssl-module.html#SSL_LIBRARY_VERSION_3_0
nss.ssl.SSL_BYPASS_PKCS11 nss.ssl-module.html#SSL_BYPASS_PKCS11
nss.ssl.SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
nss.ssl.SSL_ROLLBACK_DETECTION nss.ssl-module.html#SSL_ROLLBACK_DETECTION
nss.ssl.TLS_DH_DSS_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_DH_DSS_WITH_AES_128_CBC_SHA
nss.ssl.SSL_ENABLE_SSL2 nss.ssl-module.html#SSL_ENABLE_SSL2
nss.ssl.SSL_ENABLE_SSL3 nss.ssl-module.html#SSL_ENABLE_SSL3
nss.ssl.nssinit nss.ssl-module.html#nssinit
nss.ssl.TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA nss.ssl-module.html#TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA
nss.ssl.TLS_ECDH_anon_WITH_RC4_128_SHA nss.ssl-module.html#TLS_ECDH_anon_WITH_RC4_128_SHA
nss.ssl.SSL_SECURITY_STATUS_ON_HIGH nss.ssl-module.html#SSL_SECURITY_STATUS_ON_HIGH
nss.ssl.TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA
nss.ssl._C_API nss.ssl-module.html#_C_API
nss.ssl.TLS_ECDH_RSA_WITH_NULL_SHA nss.ssl-module.html#TLS_ECDH_RSA_WITH_NULL_SHA
nss.ssl.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA nss.ssl-module.html#TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA
nss.ssl.SSL_DH_DSS_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_DH_DSS_WITH_DES_CBC_SHA
nss.ssl.SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5 nss.ssl-module.html#SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5
nss.ssl.SSL_RSA_EXPORT_WITH_RC4_40_MD5 nss.ssl-module.html#SSL_RSA_EXPORT_WITH_RC4_40_MD5
nss.ssl.SSL_DHE_RSA_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_DHE_RSA_WITH_DES_CBC_SHA
nss.ssl.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
nss.ssl.__package__ nss.ssl-module.html#__package__
nss.ssl.TLS_DH_RSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_DH_RSA_WITH_AES_128_CBC_SHA
nss.ssl.SSL_FORTEZZA_DMS_WITH_NULL_SHA nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_NULL_SHA
nss.ssl.SSL_REQUEST_CERTIFICATE nss.ssl-module.html#SSL_REQUEST_CERTIFICATE
nss.ssl.SSL_RSA_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.TLS_RSA_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_DES_CBC_SHA
nss.ssl.ssl_library_version_from_name nss.ssl-module.html#ssl_library_version_from_name
nss.ssl.SSL_REQUIRE_ALWAYS nss.ssl-module.html#SSL_REQUIRE_ALWAYS
nss.ssl.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
nss.ssl.SSL_NO_CACHE nss.ssl-module.html#SSL_NO_CACHE
nss.ssl.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
nss.ssl.SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA nss.ssl-module.html#SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
nss.ssl.TLS_RSA_WITH_SEED_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_SEED_CBC_SHA
nss.ssl.tls1.1 nss.ssl-module.html#tls1.1
nss.ssl.tls1.2 nss.ssl-module.html#tls1.2
nss.ssl._C_API nss.ssl-module.html#_C_API
nss.ssl.SSL_FORTEZZA_DMS_WITH_RC4_128_SHA nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_RC4_128_SHA
nss.ssl.SSL_RSA_WITH_RC4_128_SHA nss.ssl-module.html#SSL_RSA_WITH_RC4_128_SHA
nss.ssl.set_default_ssl_version_range nss.ssl-module.html#set_default_ssl_version_range
nss.ssl.TLS_RSA_EXPORT1024_WITH_RC4_56_SHA nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_RC4_56_SHA
nss.ssl.ssl_library_version_name nss.ssl-module.html#ssl_library_version_name
nss.ssl.SSL_DH_ANON_WITH_DES_CBC_SHA nss.ssl-module.html#SSL_DH_ANON_WITH_DES_CBC_SHA
nss.ssl.SSL_EN_IDEA_128_CBC_WITH_MD5 nss.ssl-module.html#SSL_EN_IDEA_128_CBC_WITH_MD5
nss.ssl.get_supported_ssl_version_range nss.ssl-module.html#get_supported_ssl_version_range
nss.ssl.SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
nss.ssl.TLS_DHE_RSA_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA
nss.ssl.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
nss.ssl.get_cipher_policy nss.ssl-module.html#get_cipher_policy
nss.ssl.SSL_CK_DES_192_EDE3_CBC_WITH_MD5 nss.ssl-module.html#SSL_CK_DES_192_EDE3_CBC_WITH_MD5
nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
nss.ssl.SSL_EN_DES_192_EDE3_CBC_WITH_MD5 nss.ssl-module.html#SSL_EN_DES_192_EDE3_CBC_WITH_MD5
nss.ssl.SSL_ALLOWED nss.ssl-module.html#SSL_ALLOWED
nss.ssl.TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA
@ -1449,6 +1562,7 @@ nss.ssl.SSL_RSA_WITH_3DES_EDE_CBC_SHA nss.ssl-module.html#SSL_RSA_WITH_3DES_EDE_
nss.ssl.config_server_session_id_cache_with_opt nss.ssl-module.html#config_server_session_id_cache_with_opt
nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
nss.ssl.TLS_RSA_WITH_AES_128_CBC_SHA nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA
nss.ssl.TLS_DH_anon_WITH_RC4_128_MD5 nss.ssl-module.html#TLS_DH_anon_WITH_RC4_128_MD5
nss.error.CertVerifyError nss.error.CertVerifyError-class.html
nss.error.CertVerifyError.usages nss.error.CertVerifyError-class.html#usages
nss.error.CertVerifyError.__str__ nss.error.CertVerifyError-class.html#__str__
@ -1607,6 +1721,18 @@ nss.nss.CRLDistributionPts.__len__ nss.nss.CRLDistributionPts-class.html#__len__
nss.nss.CRLDistributionPts.__repr__ nss.nss.CRLDistributionPts-class.html#__repr__
nss.nss.CRLDistributionPts.format_lines nss.nss.CRLDistributionPts-class.html#format_lines
nss.nss.CRLDistributionPts.__init__ nss.nss.CRLDistributionPts-class.html#__init__
nss.nss.CertAttribute nss.nss.CertAttribute-class.html
nss.nss.CertAttribute.type_oid nss.nss.CertAttribute-class.html#type_oid
nss.nss.CertAttribute.__str__ nss.nss.CertAttribute-class.html#__str__
nss.nss.CertAttribute.type_tag nss.nss.CertAttribute-class.html#type_tag
nss.nss.CertAttribute.type_str nss.nss.CertAttribute-class.html#type_str
nss.nss.CertAttribute.format_lines nss.nss.CertAttribute-class.html#format_lines
nss.nss.CertAttribute.__init__ nss.nss.CertAttribute-class.html#__init__
nss.nss.CertAttribute.__new__ nss.nss.CertAttribute-class.html#__new__
nss.nss.CertAttribute.__len__ nss.nss.CertAttribute-class.html#__len__
nss.nss.CertAttribute.__getitem__ nss.nss.CertAttribute-class.html#__getitem__
nss.nss.CertAttribute.format nss.nss.CertAttribute-class.html#format
nss.nss.CertAttribute.values nss.nss.CertAttribute-class.html#values
nss.nss.CertDB nss.nss.CertDB-class.html
nss.nss.CertDB.__new__ nss.nss.CertDB-class.html#__new__
nss.nss.CertDB.find_crl_by_name nss.nss.CertDB-class.html#find_crl_by_name
@ -1633,35 +1759,40 @@ nss.nss.Certificate.check_ocsp_status nss.nss.Certificate-class.html#check_ocsp_
nss.nss.Certificate.make_ca_nickname nss.nss.Certificate-class.html#make_ca_nickname
nss.nss.Certificate.verify_now nss.nss.Certificate-class.html#verify_now
nss.nss.Certificate.__str__ nss.nss.Certificate-class.html#__str__
nss.nss.Certificate.valid_not_after_str nss.nss.Certificate-class.html#valid_not_after_str
nss.nss.Certificate.trust_flags nss.nss.Certificate-class.html#trust_flags
nss.nss.Certificate.signing_trust_str nss.nss.Certificate-class.html#signing_trust_str
nss.nss.Certificate.get_cert_chain nss.nss.Certificate-class.html#get_cert_chain
nss.nss.Certificate.signature_algorithm nss.nss.Certificate-class.html#signature_algorithm
nss.nss.Certificate.ssl_trust_str nss.nss.Certificate-class.html#ssl_trust_str
nss.nss.Certificate.format_lines nss.nss.Certificate-class.html#format_lines
nss.nss.Certificate.is_ca_cert nss.nss.Certificate-class.html#is_ca_cert
nss.nss.Certificate.issuer nss.nss.Certificate-class.html#issuer
nss.nss.Certificate.subject nss.nss.Certificate-class.html#subject
nss.nss.Certificate.verify_hostname nss.nss.Certificate-class.html#verify_hostname
nss.nss.Certificate.__new__ nss.nss.Certificate-class.html#__new__
nss.nss.Certificate.verify nss.nss.Certificate-class.html#verify
nss.nss.Certificate.signed_data nss.nss.Certificate-class.html#signed_data
nss.nss.Certificate.subject_common_name nss.nss.Certificate-class.html#subject_common_name
nss.nss.Certificate.signing_trust_flags nss.nss.Certificate-class.html#signing_trust_flags
nss.nss.Certificate.version nss.nss.Certificate-class.html#version
nss.nss.Certificate.der_data nss.nss.Certificate-class.html#der_data
nss.nss.Certificate.verify_hostname nss.nss.Certificate-class.html#verify_hostname
nss.nss.Certificate.ssl_trust_flags nss.nss.Certificate-class.html#ssl_trust_flags
nss.nss.Certificate.check_valid_times nss.nss.Certificate-class.html#check_valid_times
nss.nss.Certificate.subject nss.nss.Certificate-class.html#subject
nss.nss.Certificate.issuer nss.nss.Certificate-class.html#issuer
nss.nss.Certificate.set_trust_attributes nss.nss.Certificate-class.html#set_trust_attributes
nss.nss.Certificate.email_trust_flags nss.nss.Certificate-class.html#email_trust_flags
nss.nss.Certificate.subject_public_key_info nss.nss.Certificate-class.html#subject_public_key_info
nss.nss.Certificate.format nss.nss.Certificate-class.html#format
nss.nss.Certificate.cert_type nss.nss.Certificate-class.html#cert_type
nss.nss.Certificate.verify_with_log nss.nss.Certificate-class.html#verify_with_log
nss.nss.Certificate.find_kea_type nss.nss.Certificate-class.html#find_kea_type
nss.nss.Certificate.extensions nss.nss.Certificate-class.html#extensions
nss.nss.Certificate.serial_number nss.nss.Certificate-class.html#serial_number
nss.nss.Certificate.valid_not_before_str nss.nss.Certificate-class.html#valid_not_before_str
nss.nss.Certificate.has_signer_in_ca_names nss.nss.Certificate-class.html#has_signer_in_ca_names
nss.nss.Certificate.email_trust_str nss.nss.Certificate-class.html#email_trust_str
nss.nss.Certificate.valid_not_before nss.nss.Certificate-class.html#valid_not_before
nss.nss.Certificate.valid_not_after nss.nss.Certificate-class.html#valid_not_after
nss.nss.Certificate.extensions nss.nss.Certificate-class.html#extensions
nss.nss.Certificate.valid_not_after_str nss.nss.Certificate-class.html#valid_not_after_str
nss.nss.Certificate.__repr__ nss.nss.Certificate-class.html#__repr__
nss.nss.Certificate.__init__ nss.nss.Certificate-class.html#__init__
nss.nss.Certificate.get_extension nss.nss.Certificate-class.html#get_extension
@ -1686,6 +1817,7 @@ nss.nss.CertificateRequest.version nss.nss.CertificateRequest-class.html#version
nss.nss.CertificateRequest.extensions nss.nss.CertificateRequest-class.html#extensions
nss.nss.CertificateRequest.__repr__ nss.nss.CertificateRequest-class.html#__repr__
nss.nss.CertificateRequest.format_lines nss.nss.CertificateRequest-class.html#format_lines
nss.nss.CertificateRequest.attributes nss.nss.CertificateRequest-class.html#attributes
nss.nss.CertificateRequest.__init__ nss.nss.CertificateRequest-class.html#__init__
nss.nss.CertificateRequest.subject nss.nss.CertificateRequest-class.html#subject
nss.nss.DN nss.nss.DN-class.html
@ -1879,6 +2011,7 @@ nss.nss.SecItem.__getitem__ nss.nss.SecItem-class.html#__getitem__
nss.nss.SecItem.len nss.nss.SecItem-class.html#len
nss.nss.SecItem.get_oid_sequence nss.nss.SecItem-class.html#get_oid_sequence
nss.nss.SecItem.data nss.nss.SecItem-class.html#data
nss.nss.SecItem.get_integer nss.nss.SecItem-class.html#get_integer
nss.nss.SecItem.__repr__ nss.nss.SecItem-class.html#__repr__
nss.nss.SignedCRL nss.nss.SignedCRL-class.html
nss.nss.SignedCRL.__new__ nss.nss.SignedCRL-class.html#__new__
@ -1904,6 +2037,52 @@ nss.nss.SubjectPublicKeyInfo.__str__ nss.nss.SubjectPublicKeyInfo-class.html#__s
nss.nss.SubjectPublicKeyInfo.__repr__ nss.nss.SubjectPublicKeyInfo-class.html#__repr__
nss.nss.SubjectPublicKeyInfo.format_lines nss.nss.SubjectPublicKeyInfo-class.html#format_lines
nss.nss.SubjectPublicKeyInfo.__init__ nss.nss.SubjectPublicKeyInfo-class.html#__init__
nss.ssl.SSLChannelInfo nss.ssl.SSLChannelInfo-class.html
nss.ssl.SSLChannelInfo.__str__ nss.ssl.SSLChannelInfo-class.html#__str__
nss.ssl.SSLChannelInfo.creation_time nss.ssl.SSLChannelInfo-class.html#creation_time
nss.ssl.SSLChannelInfo.minor_protocol_version nss.ssl.SSLChannelInfo-class.html#minor_protocol_version
nss.ssl.SSLChannelInfo.cipher_suite nss.ssl.SSLChannelInfo-class.html#cipher_suite
nss.ssl.SSLChannelInfo.format_lines nss.ssl.SSLChannelInfo-class.html#format_lines
nss.ssl.SSLChannelInfo.__init__ nss.ssl.SSLChannelInfo-class.html#__init__
nss.ssl.SSLChannelInfo.__new__ nss.ssl.SSLChannelInfo-class.html#__new__
nss.ssl.SSLChannelInfo.compression_method_name nss.ssl.SSLChannelInfo-class.html#compression_method_name
nss.ssl.SSLChannelInfo.creation_time_utc nss.ssl.SSLChannelInfo-class.html#creation_time_utc
nss.ssl.SSLChannelInfo.last_access_time_utc nss.ssl.SSLChannelInfo-class.html#last_access_time_utc
nss.ssl.SSLChannelInfo.protocol_version nss.ssl.SSLChannelInfo-class.html#protocol_version
nss.ssl.SSLChannelInfo.expiration_time nss.ssl.SSLChannelInfo-class.html#expiration_time
nss.ssl.SSLChannelInfo.kea_key_bits nss.ssl.SSLChannelInfo-class.html#kea_key_bits
nss.ssl.SSLChannelInfo.major_protocol_version nss.ssl.SSLChannelInfo-class.html#major_protocol_version
nss.ssl.SSLChannelInfo.protocol_version_enum nss.ssl.SSLChannelInfo-class.html#protocol_version_enum
nss.ssl.SSLChannelInfo.last_access_time nss.ssl.SSLChannelInfo-class.html#last_access_time
nss.ssl.SSLChannelInfo.auth_key_bits nss.ssl.SSLChannelInfo-class.html#auth_key_bits
nss.ssl.SSLChannelInfo.protocol_version_str nss.ssl.SSLChannelInfo-class.html#protocol_version_str
nss.ssl.SSLChannelInfo.session_id nss.ssl.SSLChannelInfo-class.html#session_id
nss.ssl.SSLChannelInfo.compression_method nss.ssl.SSLChannelInfo-class.html#compression_method
nss.ssl.SSLChannelInfo.expiration_time_utc nss.ssl.SSLChannelInfo-class.html#expiration_time_utc
nss.ssl.SSLChannelInfo.format nss.ssl.SSLChannelInfo-class.html#format
nss.ssl.SSLCipherSuiteInfo nss.ssl.SSLCipherSuiteInfo-class.html
nss.ssl.SSLCipherSuiteInfo.effective_key_bits nss.ssl.SSLCipherSuiteInfo-class.html#effective_key_bits
nss.ssl.SSLCipherSuiteInfo.symmetric_key_bits nss.ssl.SSLCipherSuiteInfo-class.html#symmetric_key_bits
nss.ssl.SSLCipherSuiteInfo.kea_type nss.ssl.SSLCipherSuiteInfo-class.html#kea_type
nss.ssl.SSLCipherSuiteInfo.__str__ nss.ssl.SSLCipherSuiteInfo-class.html#__str__
nss.ssl.SSLCipherSuiteInfo.cipher_suite nss.ssl.SSLCipherSuiteInfo-class.html#cipher_suite
nss.ssl.SSLCipherSuiteInfo.mac_bits nss.ssl.SSLCipherSuiteInfo-class.html#mac_bits
nss.ssl.SSLCipherSuiteInfo.symmetric_key_space nss.ssl.SSLCipherSuiteInfo-class.html#symmetric_key_space
nss.ssl.SSLCipherSuiteInfo.format_lines nss.ssl.SSLCipherSuiteInfo-class.html#format_lines
nss.ssl.SSLCipherSuiteInfo.__init__ nss.ssl.SSLCipherSuiteInfo-class.html#__init__
nss.ssl.SSLCipherSuiteInfo.symmetric_cipher nss.ssl.SSLCipherSuiteInfo-class.html#symmetric_cipher
nss.ssl.SSLCipherSuiteInfo.__new__ nss.ssl.SSLCipherSuiteInfo-class.html#__new__
nss.ssl.SSLCipherSuiteInfo.auth_algorithm_name nss.ssl.SSLCipherSuiteInfo-class.html#auth_algorithm_name
nss.ssl.SSLCipherSuiteInfo.symmetric_cipher_name nss.ssl.SSLCipherSuiteInfo-class.html#symmetric_cipher_name
nss.ssl.SSLCipherSuiteInfo.format nss.ssl.SSLCipherSuiteInfo-class.html#format
nss.ssl.SSLCipherSuiteInfo.auth_algorithm nss.ssl.SSLCipherSuiteInfo-class.html#auth_algorithm
nss.ssl.SSLCipherSuiteInfo.mac_algorithm_name nss.ssl.SSLCipherSuiteInfo-class.html#mac_algorithm_name
nss.ssl.SSLCipherSuiteInfo.is_nonstandard nss.ssl.SSLCipherSuiteInfo-class.html#is_nonstandard
nss.ssl.SSLCipherSuiteInfo.mac_algorithm nss.ssl.SSLCipherSuiteInfo-class.html#mac_algorithm
nss.ssl.SSLCipherSuiteInfo.kea_type_name nss.ssl.SSLCipherSuiteInfo-class.html#kea_type_name
nss.ssl.SSLCipherSuiteInfo.cipher_suite_name nss.ssl.SSLCipherSuiteInfo-class.html#cipher_suite_name
nss.ssl.SSLCipherSuiteInfo.is_exportable nss.ssl.SSLCipherSuiteInfo-class.html#is_exportable
nss.ssl.SSLCipherSuiteInfo.is_fips nss.ssl.SSLCipherSuiteInfo-class.html#is_fips
nss.ssl.SSLSocket nss.ssl.SSLSocket-class.html
nss.ssl.SSLSocket.set_sock_peer_id nss.ssl.SSLSocket-class.html#set_sock_peer_id
nss.io.Socket.family nss.io.Socket-class.html#family
@ -1916,6 +2095,7 @@ nss.ssl.SSLSocket.get_certificate nss.ssl.SSLSocket-class.html#get_certificate
nss.ssl.SSLSocket.reset_handshake nss.ssl.SSLSocket-class.html#reset_handshake
nss.io.Socket.connect nss.io.Socket-class.html#connect
nss.io.Socket.shutdown nss.io.Socket-class.html#shutdown
nss.ssl.SSLSocket.set_client_auth_data_callback nss.ssl.SSLSocket-class.html#set_client_auth_data_callback
nss.io.Socket.close nss.io.Socket-class.html#close
nss.io.Socket.poll nss.io.Socket-class.html#poll
nss.ssl.SSLSocket.__init__ nss.ssl.SSLSocket-class.html#__init__
@ -1934,6 +2114,7 @@ nss.ssl.SSLSocket.set_hostname nss.ssl.SSLSocket-class.html#set_hostname
nss.io.Socket.read nss.io.Socket-class.html#read
nss.ssl.SSLSocket.get_hostname nss.ssl.SSLSocket-class.html#get_hostname
nss.io.Socket.get_sock_name nss.io.Socket-class.html#get_sock_name
nss.ssl.SSLSocket.connection_info_str nss.ssl.SSLSocket-class.html#connection_info_str
nss.io.Socket.listen nss.io.Socket-class.html#listen
nss.io.Socket.send_to nss.io.Socket-class.html#send_to
nss.ssl.SSLSocket.set_certificate_db nss.ssl.SSLSocket-class.html#set_certificate_db
@ -1945,17 +2126,21 @@ nss.ssl.SSLSocket.import_tcp_socket nss.ssl.SSLSocket-class.html#import_tcp_sock
nss.io.Socket.next nss.io.Socket-class.html#next
nss.io.Socket.__iter__ nss.io.Socket-class.html#__iter__
nss.ssl.SSLSocket.force_handshake_timeout nss.ssl.SSLSocket-class.html#force_handshake_timeout
nss.ssl.SSLSocket.set_client_auth_data_callback nss.ssl.SSLSocket-class.html#set_client_auth_data_callback
nss.io.Socket.fileno nss.io.Socket-class.html#fileno
nss.ssl.SSLSocket.get_negotiated_host nss.ssl.SSLSocket-class.html#get_negotiated_host
nss.ssl.SSLSocket.connection_info_format nss.ssl.SSLSocket-class.html#connection_info_format
nss.io.Socket.readline nss.io.Socket-class.html#readline
nss.ssl.SSLSocket.get_ssl_option nss.ssl.SSLSocket-class.html#get_ssl_option
nss.io.Socket.recv nss.io.Socket-class.html#recv
nss.io.Socket.recv_from nss.io.Socket-class.html#recv_from
nss.ssl.SSLSocket.set_ssl_option nss.ssl.SSLSocket-class.html#set_ssl_option
nss.io.Socket.fileno nss.io.Socket-class.html#fileno
nss.ssl.SSLSocket.set_ssl_version_range nss.ssl.SSLSocket-class.html#set_ssl_version_range
nss.io.Socket.new_tcp_pair nss.io.Socket-class.html#new_tcp_pair
nss.ssl.SSLSocket.rehandshake nss.ssl.SSLSocket-class.html#rehandshake
nss.ssl.SSLSocket.get_ssl_channel_info nss.ssl.SSLSocket-class.html#get_ssl_channel_info
nss.io.Socket.desc_type nss.io.Socket-class.html#desc_type
nss.ssl.SSLSocket.set_cipher_pref nss.ssl.SSLSocket-class.html#set_cipher_pref
nss.ssl.SSLSocket.get_ssl_version_range nss.ssl.SSLSocket-class.html#get_ssl_version_range
nss.io.Socket.netaddr nss.io.Socket-class.html#netaddr
nss.ssl.SSLSocket.get_security_status nss.ssl.SSLSocket-class.html#get_security_status
nss.ssl.SSLSocket.force_handshake nss.ssl.SSLSocket-class.html#force_handshake
@ -1963,3 +2148,4 @@ nss.ssl.SSLSocket.set_pkcs11_pin_arg nss.ssl.SSLSocket-class.html#set_pkcs11_pin
nss.io.Socket.__repr__ nss.io.Socket-class.html#__repr__
nss.io.Socket.bind nss.io.Socket-class.html#bind
nss.io.Socket.sendall nss.io.Socket-class.html#sendall
nss.ssl.SSLSocket.connection_info_format_lines nss.ssl.SSLSocket-class.html#connection_info_format_lines

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -108,6 +109,9 @@ interpreter exiting.</em>
<li> <strong class="uidlink"><a href="nss.nss.CRLDistributionPts-class.html">nss.nss.CRLDistributionPts</a></strong>:
<em class="summary">An object representing CRL Distribution Points list</em>
</li>
<li> <strong class="uidlink"><a href="nss.nss.CertAttribute-class.html">nss.nss.CertAttribute</a></strong>:
<em class="summary">CertAttribute()</em>
</li>
<li> <strong class="uidlink"><a href="nss.nss.CertDB-class.html">nss.nss.CertDB</a></strong>:
<em class="summary">An object representing a Certificate Database</em>
</li>
@ -179,6 +183,12 @@ interpreter exiting.</em>
<li> <strong class="uidlink"><a href="nss.nss.RSAPublicKey-class.html">nss.nss.RSAPublicKey</a></strong>:
<em class="summary">An object representing an RSA Public Key</em>
</li>
<li> <strong class="uidlink"><a href="nss.ssl.SSLChannelInfo-class.html">nss.ssl.SSLChannelInfo</a></strong>:
<em class="summary">SSLChannelInformation(obj)</em>
</li>
<li> <strong class="uidlink"><a href="nss.ssl.SSLCipherSuiteInfo-class.html">nss.ssl.SSLCipherSuiteInfo</a></strong>:
<em class="summary">SSLCipherSuiteInformation(obj)</em>
</li>
<li> <strong class="uidlink"><a href="nss.nss.SecItem-class.html">nss.nss.SecItem</a></strong>:
<em class="summary">SecItem(data=None, type=siBuffer)</em>
</li>
@ -228,7 +238,7 @@ interpreter exiting.</em>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:11 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:08 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -245,7 +246,7 @@ page was last updated. </p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:11 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:08 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -91,7 +92,7 @@ manipulate them.</em> </li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:11 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:08 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -103,15 +104,6 @@ object was created.</dd>
<dd>Use indexing instead (e.g. hostentry[i]), the port parameter is
not respected, port will be value when <a href="nss.io.HostEntry-class.html" class="link">HostEntry</a> object was
created.</dd>
<dt><a href="nss.ssl-module.html#nssinit" class="link">ssl.nssinit()</a></dt>
<dd>nssinit has been moved to the nss module, use <a href="nss.nss-module.html#nss_init" class="link">nss.nss_init()</a>
instead of ssl.nssinit</dd>
<dt><a href="nss.ssl-module.html#nss_init" class="link">ssl.nss_init()</a></dt>
<dd>nss_init has been moved to the nss module, use <a href="nss.nss-module.html#nss_init" class="link">nss.nss_init()</a>
instead of ssl.nssinit</dd>
<dt><a href="nss.ssl-module.html#nss_shutdown" class="link">ssl.nss_shutdown()</a></dt>
<dd>nss_shutdown() has been moved to the nss module, use
<a href="nss.nss-module.html#nss_shutdown" class="link">nss.nss_shutdown()</a> instead of ssl.nss_shutdown()</dd>
<dt><a href="nss.io.Socket-class.html" class="link">io.Socket()</a> and <a href="nss.ssl.SSLSocket-class.html" class="link">ssl.SSLSocket()</a> without explicit family parameter</dt>
<dd>Socket initialization will require the family parameter in the future.
The default family parameter of PR_AF_INET is deprecated because
@ -193,8 +185,8 @@ module namespace.</p>
</li>
<li><p class="rst-first">Initialize NSS and indicate the certficate database (CertDB):</p>
<pre class="rst-literal-block">
certdir = './pki'
ssl.nssinit(certdir)
db_name = 'sql:pki'
ssl.nssinit(db_name)
</pre>
</li>
<li><p class="rst-first">If you are implementing an SSL server call config_secure_server()
@ -343,7 +335,7 @@ IO ready and has exception handlers based on OpenSSL.</p>
<hr />
<div class="fields"> <p><strong>Version:</strong>
0.14.0
0.16.0
</p>
</div><!-- ==================== SUBMODULES ==================== -->
<a name="section-Submodules"></a>
@ -424,7 +416,7 @@ manipulate them.</em> </li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:11 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -122,254 +123,242 @@
<a name="L66"></a><tt class="py-lineno"> 66</tt> <tt class="py-line"><tt class="py-docstring"> not respected, port will be value when `HostEntry` object was</tt> </tt>
<a name="L67"></a><tt class="py-lineno"> 67</tt> <tt class="py-line"><tt class="py-docstring"> created.</tt> </tt>
<a name="L68"></a><tt class="py-lineno"> 68</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring">`ssl.nssinit()`</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> nssinit has been moved to the nss module, use `nss.nss_init()`</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> instead of ssl.nssinit</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring">`ssl.nss_init()`</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> nss_init has been moved to the nss module, use `nss.nss_init()`</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> instead of ssl.nssinit</tt> </tt>
<a name="L69"></a><tt class="py-lineno"> 69</tt> <tt class="py-line"><tt class="py-docstring">`io.Socket()` and `ssl.SSLSocket()` without explicit family parameter</tt> </tt>
<a name="L70"></a><tt class="py-lineno"> 70</tt> <tt class="py-line"><tt class="py-docstring"> Socket initialization will require the family parameter in the future.</tt> </tt>
<a name="L71"></a><tt class="py-lineno"> 71</tt> <tt class="py-line"><tt class="py-docstring"> The default family parameter of PR_AF_INET is deprecated because</tt> </tt>
<a name="L72"></a><tt class="py-lineno"> 72</tt> <tt class="py-line"><tt class="py-docstring"> when iterating through `NetworkAddress` objects returned by</tt> </tt>
<a name="L73"></a><tt class="py-lineno"> 73</tt> <tt class="py-line"><tt class="py-docstring"> `AddrInfo` some address may be an IPv6 address. Suggest using the</tt> </tt>
<a name="L74"></a><tt class="py-lineno"> 74</tt> <tt class="py-line"><tt class="py-docstring"> family property of the NetworkAddress object associated with the</tt> </tt>
<a name="L75"></a><tt class="py-lineno"> 75</tt> <tt class="py-line"><tt class="py-docstring"> socket, e.g. Socket(net_addr.family)</tt> </tt>
<a name="L76"></a><tt class="py-lineno"> 76</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring">`ssl.nss_shutdown()`</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring"> nss_shutdown() has been moved to the nss module, use</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring"> `nss.nss_shutdown()` instead of ssl.nss_shutdown()</tt> </tt>
<a name="L77"></a><tt class="py-lineno"> 77</tt> <tt class="py-line"><tt class="py-docstring">===============</tt> </tt>
<a name="L78"></a><tt class="py-lineno"> 78</tt> <tt class="py-line"><tt class="py-docstring">Getting Started</tt> </tt>
<a name="L79"></a><tt class="py-lineno"> 79</tt> <tt class="py-line"><tt class="py-docstring">===============</tt> </tt>
<a name="L80"></a><tt class="py-lineno"> 80</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring">`io.Socket()` and `ssl.SSLSocket()` without explicit family parameter</tt> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring"> Socket initialization will require the family parameter in the future.</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring"> The default family parameter of PR_AF_INET is deprecated because</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring"> when iterating through `NetworkAddress` objects returned by</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring"> `AddrInfo` some address may be an IPv6 address. Suggest using the</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring"> family property of the NetworkAddress object associated with the</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"> socket, e.g. Socket(net_addr.family)</tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring">===============</tt> </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring">Getting Started</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring">===============</tt> </tt>
<a name="L81"></a><tt class="py-lineno"> 81</tt> <tt class="py-line"><tt class="py-docstring">NSS stores it's certificates and private keys in a security database</tt> </tt>
<a name="L82"></a><tt class="py-lineno"> 82</tt> <tt class="py-line"><tt class="py-docstring">unlike OpenSSL which references it's certificates and keys via file</tt> </tt>
<a name="L83"></a><tt class="py-lineno"> 83</tt> <tt class="py-line"><tt class="py-docstring">pathnames. This means unless you already have an NSS Certificate</tt> </tt>
<a name="L84"></a><tt class="py-lineno"> 84</tt> <tt class="py-line"><tt class="py-docstring">Database (CertDB) the first order of business will be to create</tt> </tt>
<a name="L85"></a><tt class="py-lineno"> 85</tt> <tt class="py-line"><tt class="py-docstring">one. When a NSS application initializes itself it will need to specify</tt> </tt>
<a name="L86"></a><tt class="py-lineno"> 86</tt> <tt class="py-line"><tt class="py-docstring">the path to the CertDB (see "Things All NSS programs must do").</tt> </tt>
<a name="L87"></a><tt class="py-lineno"> 87</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L88"></a><tt class="py-lineno"> 88</tt> <tt class="py-line"><tt class="py-docstring">The CertDB is created and manipulated by the command line utilities</tt> </tt>
<a name="L89"></a><tt class="py-lineno"> 89</tt> <tt class="py-line"><tt class="py-docstring">certutil and modutil. Both of these programs are part of the nss-tools</tt> </tt>
<a name="L90"></a><tt class="py-lineno"> 90</tt> <tt class="py-line"><tt class="py-docstring">RPM. Documentation for these tools can be found here:</tt> </tt>
<a name="L91"></a><tt class="py-lineno"> 91</tt> <tt class="py-line"><tt class="py-docstring">http://www.mozilla.org/projects/security/pki/nss/tools</tt> </tt>
<a name="L92"></a><tt class="py-lineno"> 92</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring">NSS stores it's certificates and private keys in a security database</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring">unlike OpenSSL which references it's certificates and keys via file</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring">pathnames. This means unless you already have an NSS Certificate</tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring">Database (CertDB) the first order of business will be to create</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring">one. When a NSS application initializes itself it will need to specify</tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring">the path to the CertDB (see "Things All NSS programs must do").</tt> </tt>
<a name="L93"></a><tt class="py-lineno"> 93</tt> <tt class="py-line"><tt class="py-docstring">Here is an example of creating a CertDB and populating it. In the</tt> </tt>
<a name="L94"></a><tt class="py-lineno"> 94</tt> <tt class="py-line"><tt class="py-docstring">example the CertDB will be created under the directory "./pki", the CA</tt> </tt>
<a name="L95"></a><tt class="py-lineno"> 95</tt> <tt class="py-line"><tt class="py-docstring">will be called "myca", the database password will be "myca", and the</tt> </tt>
<a name="L96"></a><tt class="py-lineno"> 96</tt> <tt class="py-line"><tt class="py-docstring">server's hostname will be "myhost.example.com".</tt> </tt>
<a name="L97"></a><tt class="py-lineno"> 97</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L98"></a><tt class="py-lineno"> 98</tt> <tt class="py-line"><tt class="py-docstring">1. Create the database::</tt> </tt>
<a name="L99"></a><tt class="py-lineno"> 99</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring">The CertDB is created and manipulated by the command line utilities</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring">certutil and modutil. Both of these programs are part of the nss-tools</tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring">RPM. Documentation for these tools can be found here:</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring">http://www.mozilla.org/projects/security/pki/nss/tools</tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring">Here is an example of creating a CertDB and populating it. In the</tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring">example the CertDB will be created under the directory "./pki", the CA</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring">will be called "myca", the database password will be "myca", and the</tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring">server's hostname will be "myhost.example.com".</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring">1. Create the database::</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> certutil -N -d ./pki</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> This creates a new database under the directory ./pki</tt> </tt>
<a name="L100"></a><tt class="py-lineno">100</tt> <tt class="py-line"><tt class="py-docstring"> certutil -N -d ./pki</tt> </tt>
<a name="L101"></a><tt class="py-lineno">101</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L102"></a><tt class="py-lineno">102</tt> <tt class="py-line"><tt class="py-docstring"> This creates a new database under the directory ./pki</tt> </tt>
<a name="L103"></a><tt class="py-lineno">103</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L104"></a><tt class="py-lineno">104</tt> <tt class="py-line"><tt class="py-docstring">2. Create a root CA certificate::</tt> </tt>
<a name="L105"></a><tt class="py-lineno">105</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L106"></a><tt class="py-lineno">106</tt> <tt class="py-line"><tt class="py-docstring"> certutil -d ./pki -S -s "CN=myca" -n myca -x -t "CTu,C,C" -m 1</tt> </tt>
<a name="L107"></a><tt class="py-lineno">107</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L108"></a><tt class="py-lineno">108</tt> <tt class="py-line"><tt class="py-docstring"> This creates an individual certificate and adds it to the</tt> </tt>
<a name="L109"></a><tt class="py-lineno">109</tt> <tt class="py-line"><tt class="py-docstring"> certificate database with a subject of "CN=myca", a nickname of</tt> </tt>
<a name="L110"></a><tt class="py-lineno">110</tt> <tt class="py-line"><tt class="py-docstring"> "myca", trust flags indicating for SSL indicating it can issue</tt> </tt>
<a name="L111"></a><tt class="py-lineno">111</tt> <tt class="py-line"><tt class="py-docstring"> server certificates (C), can issue client certificates (T), and the</tt> </tt>
<a name="L112"></a><tt class="py-lineno">112</tt> <tt class="py-line"><tt class="py-docstring"> certificate can be used for authentication and signing (u). For</tt> </tt>
<a name="L113"></a><tt class="py-lineno">113</tt> <tt class="py-line"><tt class="py-docstring"> email and object signing it's trusted to create server</tt> </tt>
<a name="L114"></a><tt class="py-lineno">114</tt> <tt class="py-line"><tt class="py-docstring"> certificates. The certificate serial number is set to 1.</tt> </tt>
<a name="L115"></a><tt class="py-lineno">115</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring">2. Create a root CA certificate::</tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> certutil -d ./pki -S -s "CN=myca" -n myca -x -t "CTu,C,C" -m 1</tt> </tt>
<a name="L116"></a><tt class="py-lineno">116</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L117"></a><tt class="py-lineno">117</tt> <tt class="py-line"><tt class="py-docstring">3. Create a server certificate and sign it. Our example server will</tt> </tt>
<a name="L118"></a><tt class="py-lineno">118</tt> <tt class="py-line"><tt class="py-docstring"> use this::</tt> </tt>
<a name="L119"></a><tt class="py-lineno">119</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> This creates an individual certificate and adds it to the</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"> certificate database with a subject of "CN=myca", a nickname of</tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> "myca", trust flags indicating for SSL indicating it can issue</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> server certificates (C), can issue client certificates (T), and the</tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> certificate can be used for authentication and signing (u). For</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> email and object signing it's trusted to create server</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"> certificates. The certificate serial number is set to 1.</tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L120"></a><tt class="py-lineno">120</tt> <tt class="py-line"><tt class="py-docstring"> certutil -d pki -S -c myca -s "CN=myhost.example.com" -n myhost -t "u,u,u" -m 2</tt> </tt>
<a name="L121"></a><tt class="py-lineno">121</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L122"></a><tt class="py-lineno">122</tt> <tt class="py-line"><tt class="py-docstring"> This creates an individual certificate issued by the CA "myca" and</tt> </tt>
<a name="L123"></a><tt class="py-lineno">123</tt> <tt class="py-line"><tt class="py-docstring"> adds it to the certificate database with a subject of</tt> </tt>
<a name="L124"></a><tt class="py-lineno">124</tt> <tt class="py-line"><tt class="py-docstring"> "CN=myhost.example.com", a nickname of "myhost". The certificate</tt> </tt>
<a name="L125"></a><tt class="py-lineno">125</tt> <tt class="py-line"><tt class="py-docstring"> serial number is set to 2.</tt> </tt>
<a name="L126"></a><tt class="py-lineno">126</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L127"></a><tt class="py-lineno">127</tt> <tt class="py-line"><tt class="py-docstring">4. Import public root CA's::</tt> </tt>
<a name="L128"></a><tt class="py-lineno">128</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring">3. Create a server certificate and sign it. Our example server will</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"> use this::</tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> certutil -d pki -S -c myca -s "CN=myhost.example.com" -n myhost -t "u,u,u" -m 2</tt> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> This creates an individual certificate issued by the CA "myca" and</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> adds it to the certificate database with a subject of</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"> "CN=myhost.example.com", a nickname of "myhost". The certificate</tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"> serial number is set to 2.</tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring">4. Import public root CA's::</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"> modutil -add ca_certs -libfile /usr/lib/libnssckbi.so -dbdir ./pki</tt> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"> This is necessary to verify certificates presented by a SSL server a</tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"> NSS client might connect to. When verifying a certificate the NSS</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> library will "walk the certificate chain" back to a root CA which</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> must be trusted. This command imports the well known root CA's as a</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> PKCS #11 module.</tt> </tt>
<a name="L129"></a><tt class="py-lineno">129</tt> <tt class="py-line"><tt class="py-docstring"> modutil -add ca_certs -libfile /usr/lib/libnssckbi.so -dbdir ./pki</tt> </tt>
<a name="L130"></a><tt class="py-lineno">130</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L131"></a><tt class="py-lineno">131</tt> <tt class="py-line"><tt class="py-docstring"> This is necessary to verify certificates presented by a SSL server a</tt> </tt>
<a name="L132"></a><tt class="py-lineno">132</tt> <tt class="py-line"><tt class="py-docstring"> NSS client might connect to. When verifying a certificate the NSS</tt> </tt>
<a name="L133"></a><tt class="py-lineno">133</tt> <tt class="py-line"><tt class="py-docstring"> library will "walk the certificate chain" back to a root CA which</tt> </tt>
<a name="L134"></a><tt class="py-lineno">134</tt> <tt class="py-line"><tt class="py-docstring"> must be trusted. This command imports the well known root CA's as a</tt> </tt>
<a name="L135"></a><tt class="py-lineno">135</tt> <tt class="py-line"><tt class="py-docstring"> PKCS #11 module.</tt> </tt>
<a name="L136"></a><tt class="py-lineno">136</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L137"></a><tt class="py-lineno">137</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L138"></a><tt class="py-lineno">138</tt> <tt class="py-line"><tt class="py-docstring">===============================</tt> </tt>
<a name="L139"></a><tt class="py-lineno">139</tt> <tt class="py-line"><tt class="py-docstring">Things All NSS programs must do</tt> </tt>
<a name="L140"></a><tt class="py-lineno">140</tt> <tt class="py-line"><tt class="py-docstring">===============================</tt> </tt>
<a name="L141"></a><tt class="py-lineno">141</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L142"></a><tt class="py-lineno">142</tt> <tt class="py-line"><tt class="py-docstring">- Import the NSS/NSPR modules::</tt> </tt>
<a name="L143"></a><tt class="py-lineno">143</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L144"></a><tt class="py-lineno">144</tt> <tt class="py-line"><tt class="py-docstring"> from nss.error import NSPRError</tt> </tt>
<a name="L145"></a><tt class="py-lineno">145</tt> <tt class="py-line"><tt class="py-docstring"> import nss.io as io</tt> </tt>
<a name="L146"></a><tt class="py-lineno">146</tt> <tt class="py-line"><tt class="py-docstring"> import nss.nss as nss</tt> </tt>
<a name="L147"></a><tt class="py-lineno">147</tt> <tt class="py-line"><tt class="py-docstring"> import nss.ssl as ssl</tt> </tt>
<a name="L148"></a><tt class="py-lineno">148</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring">===============================</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring">Things All NSS programs must do</tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring">===============================</tt> </tt>
<a name="L149"></a><tt class="py-lineno">149</tt> <tt class="py-line"><tt class="py-docstring"> In the interest of code brevity we drop the leading "nss." from the</tt> </tt>
<a name="L150"></a><tt class="py-lineno">150</tt> <tt class="py-line"><tt class="py-docstring"> module namespace.</tt> </tt>
<a name="L151"></a><tt class="py-lineno">151</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L152"></a><tt class="py-lineno">152</tt> <tt class="py-line"><tt class="py-docstring">- Initialize NSS and indicate the certficate database (CertDB)::</tt> </tt>
<a name="L153"></a><tt class="py-lineno">153</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring">- Import the NSS/NSPR modules::</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"> from nss.error import NSPRError</tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring"> import nss.io as io</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> import nss.nss as nss</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"> import nss.ssl as ssl</tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> In the interest of code brevity we drop the leading "nss." from the</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"> module namespace.</tt> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring">- Initialize NSS and indicate the certficate database (CertDB)::</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"> certdir = './pki'</tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring"> ssl.nssinit(certdir)</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring">- If you are implementing an SSL server call config_secure_server()</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"> (see ssl_example.py)::</tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring"> sock = ssl.SSLSocket(net_addr.family)</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring"> sock.config_secure_server(server_cert, priv_key, server_cert_kea)</tt> </tt>
<a name="L154"></a><tt class="py-lineno">154</tt> <tt class="py-line"><tt class="py-docstring"> db_name = 'sql:pki'</tt> </tt>
<a name="L155"></a><tt class="py-lineno">155</tt> <tt class="py-line"><tt class="py-docstring"> ssl.nssinit(db_name)</tt> </tt>
<a name="L156"></a><tt class="py-lineno">156</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L157"></a><tt class="py-lineno">157</tt> <tt class="py-line"><tt class="py-docstring">- If you are implementing an SSL server call config_secure_server()</tt> </tt>
<a name="L158"></a><tt class="py-lineno">158</tt> <tt class="py-line"><tt class="py-docstring"> (see ssl_example.py)::</tt> </tt>
<a name="L159"></a><tt class="py-lineno">159</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L160"></a><tt class="py-lineno">160</tt> <tt class="py-line"><tt class="py-docstring"> sock = ssl.SSLSocket(net_addr.family)</tt> </tt>
<a name="L161"></a><tt class="py-lineno">161</tt> <tt class="py-line"><tt class="py-docstring"> sock.config_secure_server(server_cert, priv_key, server_cert_kea)</tt> </tt>
<a name="L162"></a><tt class="py-lineno">162</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L163"></a><tt class="py-lineno">163</tt> <tt class="py-line"><tt class="py-docstring"> **WARNING** you must call config_secure_server() for SSL servers, if</tt> </tt>
<a name="L164"></a><tt class="py-lineno">164</tt> <tt class="py-line"><tt class="py-docstring"> you do not call it the most likely result will be the NSS library</tt> </tt>
<a name="L165"></a><tt class="py-lineno">165</tt> <tt class="py-line"><tt class="py-docstring"> will segfault (not pretty).</tt> </tt>
<a name="L166"></a><tt class="py-lineno">166</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L167"></a><tt class="py-lineno">167</tt> <tt class="py-line"><tt class="py-docstring">========</tt> </tt>
<a name="L168"></a><tt class="py-lineno">168</tt> <tt class="py-line"><tt class="py-docstring">Examples</tt> </tt>
<a name="L169"></a><tt class="py-lineno">169</tt> <tt class="py-line"><tt class="py-docstring">========</tt> </tt>
<a name="L170"></a><tt class="py-lineno">170</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L171"></a><tt class="py-lineno">171</tt> <tt class="py-line"><tt class="py-docstring">There are example programs in under "examples" in the documentation</tt> </tt>
<a name="L172"></a><tt class="py-lineno">172</tt> <tt class="py-line"><tt class="py-docstring">directory. On Fedora/RHEL/CentOS systems this will be</tt> </tt>
<a name="L173"></a><tt class="py-lineno">173</tt> <tt class="py-line"><tt class="py-docstring">/usr/share/doc/python-nss.</tt> </tt>
<a name="L174"></a><tt class="py-lineno">174</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring"> **WARNING** you must call config_secure_server() for SSL servers, if</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring"> you do not call it the most likely result will be the NSS library</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring"> will segfault (not pretty).</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring">========</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring">Examples</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring">========</tt> </tt>
<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring">There are example programs in under "examples" in the documentation</tt> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring">directory. On Fedora/RHEL/CentOS systems this will be</tt> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring">/usr/share/doc/python-nss.</tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring">The ssl_example.py sample implements both a client and server in one</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring">script. You tell it whether to run as a client (-C) or a server (-S)</tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring">when you invoke it. The sample shows many of the NSS/NSPR calls and</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring">fully implements basic non-SSL client/server using NSPR, SSL</tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring">client/server using NSS, certificate validation, CertDB operations,</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring">and client authentication using certificates.</tt> </tt>
<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring">To get a list of command line options::</tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring"> ssl_example.py --help</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring">Using the above example certificate database server can be run like</tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring">this::</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> ssl_example.py -S -c ./pki -n myhost</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring">The client can be run like this::</tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"> ssl_example.py -C -c ./pki</tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring">======</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring">Issues</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring">======</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring">- The current partitioning of the NSS and NSPR API's into Python</tt> </tt>
<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"> modules (i.e. the Python namespaces and their symbols) is a first</tt> </tt>
<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"> cut and may not be ideal. One should be prepared for name changes as</tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"> the binding matures.</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-docstring">- NSPR vs. Python</tt> </tt>
<a name="L175"></a><tt class="py-lineno">175</tt> <tt class="py-line"><tt class="py-docstring">The ssl_example.py sample implements both a client and server in one</tt> </tt>
<a name="L176"></a><tt class="py-lineno">176</tt> <tt class="py-line"><tt class="py-docstring">script. You tell it whether to run as a client (-C) or a server (-S)</tt> </tt>
<a name="L177"></a><tt class="py-lineno">177</tt> <tt class="py-line"><tt class="py-docstring">when you invoke it. The sample shows many of the NSS/NSPR calls and</tt> </tt>
<a name="L178"></a><tt class="py-lineno">178</tt> <tt class="py-line"><tt class="py-docstring">fully implements basic non-SSL client/server using NSPR, SSL</tt> </tt>
<a name="L179"></a><tt class="py-lineno">179</tt> <tt class="py-line"><tt class="py-docstring">client/server using NSS, certificate validation, CertDB operations,</tt> </tt>
<a name="L180"></a><tt class="py-lineno">180</tt> <tt class="py-line"><tt class="py-docstring">and client authentication using certificates.</tt> </tt>
<a name="L181"></a><tt class="py-lineno">181</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L182"></a><tt class="py-lineno">182</tt> <tt class="py-line"><tt class="py-docstring">To get a list of command line options::</tt> </tt>
<a name="L183"></a><tt class="py-lineno">183</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L184"></a><tt class="py-lineno">184</tt> <tt class="py-line"><tt class="py-docstring"> ssl_example.py --help</tt> </tt>
<a name="L185"></a><tt class="py-lineno">185</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L186"></a><tt class="py-lineno">186</tt> <tt class="py-line"><tt class="py-docstring">Using the above example certificate database server can be run like</tt> </tt>
<a name="L187"></a><tt class="py-lineno">187</tt> <tt class="py-line"><tt class="py-docstring">this::</tt> </tt>
<a name="L188"></a><tt class="py-lineno">188</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L189"></a><tt class="py-lineno">189</tt> <tt class="py-line"><tt class="py-docstring"> ssl_example.py -S -c ./pki -n myhost</tt> </tt>
<a name="L190"></a><tt class="py-lineno">190</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L191"></a><tt class="py-lineno">191</tt> <tt class="py-line"><tt class="py-docstring">The client can be run like this::</tt> </tt>
<a name="L192"></a><tt class="py-lineno">192</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L193"></a><tt class="py-lineno">193</tt> <tt class="py-line"><tt class="py-docstring"> ssl_example.py -C -c ./pki</tt> </tt>
<a name="L194"></a><tt class="py-lineno">194</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L195"></a><tt class="py-lineno">195</tt> <tt class="py-line"><tt class="py-docstring">======</tt> </tt>
<a name="L196"></a><tt class="py-lineno">196</tt> <tt class="py-line"><tt class="py-docstring">Issues</tt> </tt>
<a name="L197"></a><tt class="py-lineno">197</tt> <tt class="py-line"><tt class="py-docstring">======</tt> </tt>
<a name="L198"></a><tt class="py-lineno">198</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L199"></a><tt class="py-lineno">199</tt> <tt class="py-line"><tt class="py-docstring">- The current partitioning of the NSS and NSPR API's into Python</tt> </tt>
<a name="L200"></a><tt class="py-lineno">200</tt> <tt class="py-line"><tt class="py-docstring"> modules (i.e. the Python namespaces and their symbols) is a first</tt> </tt>
<a name="L201"></a><tt class="py-lineno">201</tt> <tt class="py-line"><tt class="py-docstring"> cut and may not be ideal. One should be prepared for name changes as</tt> </tt>
<a name="L202"></a><tt class="py-lineno">202</tt> <tt class="py-line"><tt class="py-docstring"> the binding matures.</tt> </tt>
<a name="L203"></a><tt class="py-lineno">203</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L204"></a><tt class="py-lineno">204</tt> <tt class="py-line"><tt class="py-docstring">- NSPR vs. Python</tt> </tt>
<a name="L205"></a><tt class="py-lineno">205</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L206"></a><tt class="py-lineno">206</tt> <tt class="py-line"><tt class="py-docstring"> An original design goal of NSS was to be portable, however NSS</tt> </tt>
<a name="L207"></a><tt class="py-lineno">207</tt> <tt class="py-line"><tt class="py-docstring"> required access to many system level functions which can vary</tt> </tt>
<a name="L208"></a><tt class="py-lineno">208</tt> <tt class="py-line"><tt class="py-docstring"> widely between platforms and OS's. Therefore NSPR was written to</tt> </tt>
<a name="L209"></a><tt class="py-lineno">209</tt> <tt class="py-line"><tt class="py-docstring"> encapsulate system services such as IO, sockets, threads, timers,</tt> </tt>
<a name="L210"></a><tt class="py-lineno">210</tt> <tt class="py-line"><tt class="py-docstring"> etc. into a common API to insulate NSS from the underlying</tt> </tt>
<a name="L211"></a><tt class="py-lineno">211</tt> <tt class="py-line"><tt class="py-docstring"> platform.</tt> </tt>
<a name="L212"></a><tt class="py-lineno">212</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L213"></a><tt class="py-lineno">213</tt> <tt class="py-line"><tt class="py-docstring"> In many respects Python and its collection of packages and modules</tt> </tt>
<a name="L214"></a><tt class="py-lineno">214</tt> <tt class="py-line"><tt class="py-docstring"> provides the same type of platform independence for applications</tt> </tt>
<a name="L215"></a><tt class="py-lineno">215</tt> <tt class="py-line"><tt class="py-docstring"> and libraries and provides it's own implementation of IO, sockets,</tt> </tt>
<a name="L216"></a><tt class="py-lineno">216</tt> <tt class="py-line"><tt class="py-docstring"> threads, timers, etc.</tt> </tt>
<a name="L217"></a><tt class="py-lineno">217</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> An original design goal of NSS was to be portable, however NSS</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> required access to many system level functions which can vary</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> widely between platforms and OS's. Therefore NSPR was written to</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"> encapsulate system services such as IO, sockets, threads, timers,</tt> </tt>
<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"> etc. into a common API to insulate NSS from the underlying</tt> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> platform.</tt> </tt>
<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> In many respects Python and its collection of packages and modules</tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"> provides the same type of platform independence for applications</tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-docstring"> and libraries and provides it's own implementation of IO, sockets,</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-docstring"> threads, timers, etc.</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-docstring"> Unfortunately NSPR's and Python's run time abstractions are not</tt> </tt>
<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-docstring"> the same nor can either be configured to use a different</tt> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> underlying abstraction layer.</tt> </tt>
<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> Currently the NSS binding utilizes *only* the NSPR abstraction</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> layer. One consequence of this is it is not possible to create a</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"> Python socket and use it as the foundation for any NSS functions</tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> expecting a socket, or visa versa.</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"><tt class="py-docstring"> You **must** use the nss.io module to create and manipulate a</tt> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"> socket used by NSS. You cannot pass this socket to any Python</tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"> library function expecting a socket. The two are not compatible.</tt> </tt>
<a name="L218"></a><tt class="py-lineno">218</tt> <tt class="py-line"><tt class="py-docstring"> Unfortunately NSPR's and Python's run time abstractions are not</tt> </tt>
<a name="L219"></a><tt class="py-lineno">219</tt> <tt class="py-line"><tt class="py-docstring"> the same nor can either be configured to use a different</tt> </tt>
<a name="L220"></a><tt class="py-lineno">220</tt> <tt class="py-line"><tt class="py-docstring"> underlying abstraction layer.</tt> </tt>
<a name="L221"></a><tt class="py-lineno">221</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L222"></a><tt class="py-lineno">222</tt> <tt class="py-line"><tt class="py-docstring"> Currently the NSS binding utilizes *only* the NSPR abstraction</tt> </tt>
<a name="L223"></a><tt class="py-lineno">223</tt> <tt class="py-line"><tt class="py-docstring"> layer. One consequence of this is it is not possible to create a</tt> </tt>
<a name="L224"></a><tt class="py-lineno">224</tt> <tt class="py-line"><tt class="py-docstring"> Python socket and use it as the foundation for any NSS functions</tt> </tt>
<a name="L225"></a><tt class="py-lineno">225</tt> <tt class="py-line"><tt class="py-docstring"> expecting a socket, or visa versa.</tt> </tt>
<a name="L226"></a><tt class="py-lineno">226</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L227"></a><tt class="py-lineno">227</tt> <tt class="py-line"><tt class="py-docstring"> You **must** use the nss.io module to create and manipulate a</tt> </tt>
<a name="L228"></a><tt class="py-lineno">228</tt> <tt class="py-line"><tt class="py-docstring"> socket used by NSS. You cannot pass this socket to any Python</tt> </tt>
<a name="L229"></a><tt class="py-lineno">229</tt> <tt class="py-line"><tt class="py-docstring"> library function expecting a socket. The two are not compatible.</tt> </tt>
<a name="L230"></a><tt class="py-lineno">230</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L231"></a><tt class="py-lineno">231</tt> <tt class="py-line"><tt class="py-docstring"> Here are some reasons for this incompatibility, perhaps in the</tt> </tt>
<a name="L232"></a><tt class="py-lineno">232</tt> <tt class="py-line"><tt class="py-docstring"> future we can find a solution but the immediate goal of the NSS</tt> </tt>
<a name="L233"></a><tt class="py-lineno">233</tt> <tt class="py-line"><tt class="py-docstring"> Python binding was to expose NSS through Python, not necessarily</tt> </tt>
<a name="L234"></a><tt class="py-lineno">234</tt> <tt class="py-line"><tt class="py-docstring"> to solve the larger integration issue of Python run-time and NSPR</tt> </tt>
<a name="L235"></a><tt class="py-lineno">235</tt> <tt class="py-line"><tt class="py-docstring"> run-time.</tt> </tt>
<a name="L236"></a><tt class="py-lineno">236</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L237"></a><tt class="py-lineno">237</tt> <tt class="py-line"><tt class="py-docstring"> - NSPR would like to hide the underlying platform socket (in the</tt> </tt>
<a name="L238"></a><tt class="py-lineno">238</tt> <tt class="py-line"><tt class="py-docstring"> NSPR code this is called "osfd"). There are NSPR API's which</tt> </tt>
<a name="L239"></a><tt class="py-lineno">239</tt> <tt class="py-line"><tt class="py-docstring"> will operate on osfd's</tt> </tt>
<a name="L240"></a><tt class="py-lineno">240</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L241"></a><tt class="py-lineno">241</tt> <tt class="py-line"><tt class="py-docstring"> - One can base a NSPR socket on an existing osfd via:</tt> </tt>
<a name="L242"></a><tt class="py-lineno">242</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> Here are some reasons for this incompatibility, perhaps in the</tt> </tt>
<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> future we can find a solution but the immediate goal of the NSS</tt> </tt>
<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"> Python binding was to expose NSS through Python, not necessarily</tt> </tt>
<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> to solve the larger integration issue of Python run-time and NSPR</tt> </tt>
<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"> run-time. </tt> </tt>
<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> - NSPR would like to hide the underlying platform socket (in the</tt> </tt>
<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"> NSPR code this is called "osfd"). There are NSPR API's which</tt> </tt>
<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> will operate on osfd's</tt> </tt>
<a name="L243"></a><tt class="py-lineno">243</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportFile()</tt> </tt>
<a name="L244"></a><tt class="py-lineno">244</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportPipe()</tt> </tt>
<a name="L245"></a><tt class="py-lineno">245</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportTCPSocket()</tt> </tt>
<a name="L246"></a><tt class="py-lineno">246</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportUDPSocket()</tt> </tt>
<a name="L247"></a><tt class="py-lineno">247</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L248"></a><tt class="py-lineno">248</tt> <tt class="py-line"><tt class="py-docstring"> - One can obtain the osfd in use by NSPR, either when the</tt> </tt>
<a name="L249"></a><tt class="py-lineno">249</tt> <tt class="py-line"><tt class="py-docstring"> osfd was imported or because NSPR created the osfd itself via:</tt> </tt>
<a name="L250"></a><tt class="py-lineno">250</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L251"></a><tt class="py-lineno">251</tt> <tt class="py-line"><tt class="py-docstring"> - PR_FileDesc2NativeHandle();</tt> </tt>
<a name="L252"></a><tt class="py-lineno">252</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> - One can base a NSPR socket on an existing osfd via:</tt> </tt>
<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportFile()</tt> </tt>
<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportPipe()</tt> </tt>
<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportTCPSocket()</tt> </tt>
<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-docstring"> - PR_ImportUDPSocket()</tt> </tt>
<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-docstring"> - One can obtain the osfd in use by NSPR, either when the</tt> </tt>
<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> osfd was imported or because NSPR created the osfd itself via:</tt> </tt>
<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> - PR_FileDesc2NativeHandle();</tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"> But note this function is not meant to be public in the NSPR</tt> </tt>
<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> API and is documented as being deprecated and carries an</tt> </tt>
<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"> explicit warning against it's use.</tt> </tt>
<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> Once NSPR gets a hold of an osfd it manipulates it in a manner</tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> as if it were the only owner of the osfd. Other native code</tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> (e.g. the CPython socket code) which operates on the fd may run</tt> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> afoul of NSPR belief it is the only code in the system operating</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"> on the fd. For example in CPython the non-blocking flag is</tt> </tt>
<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"> directly set on the fd and non-blocking behavior is implemented</tt> </tt>
<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> by the OS. However, NSPR manages non-blocking behavior</tt> </tt>
<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> internally to the NSPR library eschewing direct OS support for</tt> </tt>
<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"><tt class="py-docstring"> non-blocking. Thus CPython and NSPR are in direct conflict over</tt> </tt>
<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-docstring"> when and how non-blocking is set on an fd. Examples of this</tt> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"><tt class="py-docstring"> problem can be seen in the Python socket.makefile() operation</tt> </tt>
<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"><tt class="py-docstring"> which takes the fd belonging to a system socket, dups it, and</tt> </tt>
<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"><tt class="py-docstring"> calls fdopen() on the dup'ed fd to return a FILE stream (all</tt> </tt>
<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"><tt class="py-docstring"> Python file IO is based on file objects utilizing a FILE</tt> </tt>
<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"><tt class="py-docstring"> stream). However, the dup'ed fd does not share the same</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-docstring"> non-blocking flag, NSPR explicitly forces the flag off, Python</tt> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"><tt class="py-docstring"> wants to directly manipulate it. Dup'ed fd's share their flags</tt> </tt>
<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"><tt class="py-docstring"> thus if Python operates on the dup'ed fd returned by NSPR it's</tt> </tt>
<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"><tt class="py-docstring"> going to confuse NSPR. Likewise if one sets non-blocking via</tt> </tt>
<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"><tt class="py-docstring"> NSPR then Python won't honor the flag because Python is</tt> </tt>
<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"><tt class="py-docstring"> expecting the flag to be set on the fd, not in some other</tt> </tt>
<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-docstring"> location (e.g. internal to NSPR).</tt> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"> - Python's socket implementation is a very thin layer over the</tt> </tt>
<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"> Berkely socket API. There is very little abstraction, thus</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"><tt class="py-docstring"> Python and Python program expect to manipulate sockets directly</tt> </tt>
<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"> via their fd's.</tt> </tt>
<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-docstring"> - The error and exception model for Python sockets and SSL is an</tt> </tt>
<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring"> almost direct one-to-one mapping of the Posix and OpenSSL</tt> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"><tt class="py-docstring"> errors. But NSS uses NSPR errors, thus Python code which has</tt> </tt>
<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"><tt class="py-docstring"> exception handlers for sockets and SSL are expecting a complete</tt> </tt>
<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"><tt class="py-docstring"> different set of exceptions.</tt> </tt>
<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"><tt class="py-docstring"> - Python's SSL implementation is a very thin layer over the</tt> </tt>
<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"><tt class="py-docstring"> OpenSSL API, there is little abstraction. Thus there is a</tt> </tt>
<a name="L305"></a><tt class="py-lineno">305</tt> <tt class="py-line"><tt class="py-docstring"> sizeable body of Python code which expects the OpenSSL model for</tt> </tt>
<a name="L306"></a><tt class="py-lineno">306</tt> <tt class="py-line"><tt class="py-docstring"> IO ready and has exception handlers based on OpenSSL.</tt> </tt>
<a name="L307"></a><tt class="py-lineno">307</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L308"></a><tt class="py-lineno">308</tt> <tt class="py-line"><tt class="py-docstring">===</tt> </tt>
<a name="L309"></a><tt class="py-lineno">309</tt> <tt class="py-line"><tt class="py-docstring">FAQ</tt> </tt>
<a name="L310"></a><tt class="py-lineno">310</tt> <tt class="py-line"><tt class="py-docstring">===</tt> </tt>
<a name="L311"></a><tt class="py-lineno">311</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L312"></a><tt class="py-lineno">312</tt> <tt class="py-line"><tt class="py-docstring">To be added</tt> </tt>
<a name="L313"></a><tt class="py-lineno">313</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L314"></a><tt class="py-lineno">314</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L315"></a><tt class="py-lineno">315</tt> <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">'0.14.0'</tt> </tt>
<a name="L316"></a><tt class="py-lineno">316</tt> <tt class="py-line"> </tt><script type="text/javascript">
<a name="L253"></a><tt class="py-lineno">253</tt> <tt class="py-line"><tt class="py-docstring"> But note this function is not meant to be public in the NSPR</tt> </tt>
<a name="L254"></a><tt class="py-lineno">254</tt> <tt class="py-line"><tt class="py-docstring"> API and is documented as being deprecated and carries an</tt> </tt>
<a name="L255"></a><tt class="py-lineno">255</tt> <tt class="py-line"><tt class="py-docstring"> explicit warning against it's use.</tt> </tt>
<a name="L256"></a><tt class="py-lineno">256</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L257"></a><tt class="py-lineno">257</tt> <tt class="py-line"><tt class="py-docstring"> Once NSPR gets a hold of an osfd it manipulates it in a manner</tt> </tt>
<a name="L258"></a><tt class="py-lineno">258</tt> <tt class="py-line"><tt class="py-docstring"> as if it were the only owner of the osfd. Other native code</tt> </tt>
<a name="L259"></a><tt class="py-lineno">259</tt> <tt class="py-line"><tt class="py-docstring"> (e.g. the CPython socket code) which operates on the fd may run</tt> </tt>
<a name="L260"></a><tt class="py-lineno">260</tt> <tt class="py-line"><tt class="py-docstring"> afoul of NSPR belief it is the only code in the system operating</tt> </tt>
<a name="L261"></a><tt class="py-lineno">261</tt> <tt class="py-line"><tt class="py-docstring"> on the fd. For example in CPython the non-blocking flag is</tt> </tt>
<a name="L262"></a><tt class="py-lineno">262</tt> <tt class="py-line"><tt class="py-docstring"> directly set on the fd and non-blocking behavior is implemented</tt> </tt>
<a name="L263"></a><tt class="py-lineno">263</tt> <tt class="py-line"><tt class="py-docstring"> by the OS. However, NSPR manages non-blocking behavior</tt> </tt>
<a name="L264"></a><tt class="py-lineno">264</tt> <tt class="py-line"><tt class="py-docstring"> internally to the NSPR library eschewing direct OS support for</tt> </tt>
<a name="L265"></a><tt class="py-lineno">265</tt> <tt class="py-line"><tt class="py-docstring"> non-blocking. Thus CPython and NSPR are in direct conflict over</tt> </tt>
<a name="L266"></a><tt class="py-lineno">266</tt> <tt class="py-line"><tt class="py-docstring"> when and how non-blocking is set on an fd. Examples of this</tt> </tt>
<a name="L267"></a><tt class="py-lineno">267</tt> <tt class="py-line"><tt class="py-docstring"> problem can be seen in the Python socket.makefile() operation</tt> </tt>
<a name="L268"></a><tt class="py-lineno">268</tt> <tt class="py-line"><tt class="py-docstring"> which takes the fd belonging to a system socket, dups it, and</tt> </tt>
<a name="L269"></a><tt class="py-lineno">269</tt> <tt class="py-line"><tt class="py-docstring"> calls fdopen() on the dup'ed fd to return a FILE stream (all</tt> </tt>
<a name="L270"></a><tt class="py-lineno">270</tt> <tt class="py-line"><tt class="py-docstring"> Python file IO is based on file objects utilizing a FILE</tt> </tt>
<a name="L271"></a><tt class="py-lineno">271</tt> <tt class="py-line"><tt class="py-docstring"> stream). However, the dup'ed fd does not share the same</tt> </tt>
<a name="L272"></a><tt class="py-lineno">272</tt> <tt class="py-line"><tt class="py-docstring"> non-blocking flag, NSPR explicitly forces the flag off, Python</tt> </tt>
<a name="L273"></a><tt class="py-lineno">273</tt> <tt class="py-line"><tt class="py-docstring"> wants to directly manipulate it. Dup'ed fd's share their flags</tt> </tt>
<a name="L274"></a><tt class="py-lineno">274</tt> <tt class="py-line"><tt class="py-docstring"> thus if Python operates on the dup'ed fd returned by NSPR it's</tt> </tt>
<a name="L275"></a><tt class="py-lineno">275</tt> <tt class="py-line"><tt class="py-docstring"> going to confuse NSPR. Likewise if one sets non-blocking via</tt> </tt>
<a name="L276"></a><tt class="py-lineno">276</tt> <tt class="py-line"><tt class="py-docstring"> NSPR then Python won't honor the flag because Python is</tt> </tt>
<a name="L277"></a><tt class="py-lineno">277</tt> <tt class="py-line"><tt class="py-docstring"> expecting the flag to be set on the fd, not in some other</tt> </tt>
<a name="L278"></a><tt class="py-lineno">278</tt> <tt class="py-line"><tt class="py-docstring"> location (e.g. internal to NSPR).</tt> </tt>
<a name="L279"></a><tt class="py-lineno">279</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L280"></a><tt class="py-lineno">280</tt> <tt class="py-line"><tt class="py-docstring"> - Python's socket implementation is a very thin layer over the</tt> </tt>
<a name="L281"></a><tt class="py-lineno">281</tt> <tt class="py-line"><tt class="py-docstring"> Berkely socket API. There is very little abstraction, thus</tt> </tt>
<a name="L282"></a><tt class="py-lineno">282</tt> <tt class="py-line"><tt class="py-docstring"> Python and Python program expect to manipulate sockets directly</tt> </tt>
<a name="L283"></a><tt class="py-lineno">283</tt> <tt class="py-line"><tt class="py-docstring"> via their fd's.</tt> </tt>
<a name="L284"></a><tt class="py-lineno">284</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L285"></a><tt class="py-lineno">285</tt> <tt class="py-line"><tt class="py-docstring"> - The error and exception model for Python sockets and SSL is an</tt> </tt>
<a name="L286"></a><tt class="py-lineno">286</tt> <tt class="py-line"><tt class="py-docstring"> almost direct one-to-one mapping of the Posix and OpenSSL</tt> </tt>
<a name="L287"></a><tt class="py-lineno">287</tt> <tt class="py-line"><tt class="py-docstring"> errors. But NSS uses NSPR errors, thus Python code which has</tt> </tt>
<a name="L288"></a><tt class="py-lineno">288</tt> <tt class="py-line"><tt class="py-docstring"> exception handlers for sockets and SSL are expecting a complete</tt> </tt>
<a name="L289"></a><tt class="py-lineno">289</tt> <tt class="py-line"><tt class="py-docstring"> different set of exceptions.</tt> </tt>
<a name="L290"></a><tt class="py-lineno">290</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L291"></a><tt class="py-lineno">291</tt> <tt class="py-line"><tt class="py-docstring"> - Python's SSL implementation is a very thin layer over the</tt> </tt>
<a name="L292"></a><tt class="py-lineno">292</tt> <tt class="py-line"><tt class="py-docstring"> OpenSSL API, there is little abstraction. Thus there is a</tt> </tt>
<a name="L293"></a><tt class="py-lineno">293</tt> <tt class="py-line"><tt class="py-docstring"> sizeable body of Python code which expects the OpenSSL model for</tt> </tt>
<a name="L294"></a><tt class="py-lineno">294</tt> <tt class="py-line"><tt class="py-docstring"> IO ready and has exception handlers based on OpenSSL.</tt> </tt>
<a name="L295"></a><tt class="py-lineno">295</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L296"></a><tt class="py-lineno">296</tt> <tt class="py-line"><tt class="py-docstring">===</tt> </tt>
<a name="L297"></a><tt class="py-lineno">297</tt> <tt class="py-line"><tt class="py-docstring">FAQ</tt> </tt>
<a name="L298"></a><tt class="py-lineno">298</tt> <tt class="py-line"><tt class="py-docstring">===</tt> </tt>
<a name="L299"></a><tt class="py-lineno">299</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L300"></a><tt class="py-lineno">300</tt> <tt class="py-line"><tt class="py-docstring">To be added</tt> </tt>
<a name="L301"></a><tt class="py-lineno">301</tt> <tt class="py-line"><tt class="py-docstring"></tt> </tt>
<a name="L302"></a><tt class="py-lineno">302</tt> <tt class="py-line"><tt class="py-docstring">"""</tt> </tt>
<a name="L303"></a><tt class="py-lineno">303</tt> <tt class="py-line"><tt class="py-name">__version__</tt> <tt class="py-op">=</tt> <tt class="py-string">'0.16.0'</tt> </tt>
<a name="L304"></a><tt class="py-lineno">304</tt> <tt class="py-line"> </tt><script type="text/javascript">
<!--
expandto(location.href);
// -->
@ -402,7 +391,7 @@ expandto(location.href);
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -183,6 +184,13 @@ NSPR Error Constants:</p>
<p>SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST: SSL received a malformed Hello Verify Request handshake message.</p>
<p>SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST: SSL received an unexpected Hello Verify Request handshake message.</p>
<p>SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION: SSL feature not supported for the protocol version.</p>
<p>SSL_ERROR_RX_UNEXPECTED_CERT_STATUS: SSL received an unexpected Certificate Status handshake message.</p>
<p>SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM: Unsupported hash algorithm used by TLS peer.</p>
<p>SSL_ERROR_DIGEST_FAILURE: Digest function failed.</p>
<p>SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM: Incorrect signature algorithm specified in a digitally-signed element.</p>
<p>SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK: The next protocol negotiation extension was enabled, but the callback was cleared prior to being needed.</p>
<p>SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL: The server supports no protocols that the client advertises in the ALPN extension.</p>
<p>SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT: The server rejected the handshake because the client downgraded to a lower TLS version than the server supports.</p>
<p>SEC_ERROR_IO: An I/O error occurred during security authorization.</p>
<p>SEC_ERROR_LIBRARY_FAILURE: security library failure.</p>
<p>SEC_ERROR_BAD_DATA: security library: received bad data.</p>
@ -2402,6 +2410,13 @@ NSPR Error Constants:</p>
<a name="SSL_ERROR_DECRYPT_ERROR_ALERT"></a><span class="summary-name">SSL_ERROR_DECRYPT_ERROR_ALERT</span> = <code title="-12192">-12192</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SSL_ERROR_DIGEST_FAILURE"></a><span class="summary-name">SSL_ERROR_DIGEST_FAILURE</span> = <code title="-12161">-12161</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -2507,6 +2522,20 @@ NSPR Error Constants:</p>
<a name="SSL_ERROR_ILLEGAL_PARAMETER_ALERT"></a><span class="summary-name">SSL_ERROR_ILLEGAL_PARAMETER_ALERT</span> = <code title="-12226">-12226</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT"></a><span class="summary-name">SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT</span> = <code title="-12157">-12157</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM"></a><span class="summary-name">SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM</span> = <code title="-12160">-12160</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -2563,6 +2592,20 @@ NSPR Error Constants:</p>
<a name="SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID"></a><span class="summary-name">SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID</span> = <code title="-12172">-12172</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK"></a><span class="summary-name">SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK</span> = <code title="-12159">-12159</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL"></a><span class="summary-name">SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL</span> = <code title="-12158">-12158</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -2801,6 +2844,13 @@ NSPR Error Constants:</p>
<a name="SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST"></a><span class="summary-name">SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST</span> = <code title="-12242">-12242</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SSL_ERROR_RX_UNEXPECTED_CERT_STATUS"></a><span class="summary-name">SSL_ERROR_RX_UNEXPECTED_CERT_STATUS</span> = <code title="-12163">-12163</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -3060,6 +3110,13 @@ NSPR Error Constants:</p>
<a name="SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT"></a><span class="summary-name">SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT</span> = <code title="-12184">-12184</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM"></a><span class="summary-name">SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM</span> = <code title="-12162">-12162</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -3197,7 +3254,7 @@ NSPR Error Constants:</p>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="_C_API"></a><span class="summary-name">_C_API</span> = <code title="&lt;PyCObject object at 0x9d5b1b8&gt;">&lt;PyCObject object at 0x9d5b1b8&gt;</code>
<a name="_C_API"></a><span class="summary-name">_C_API</span> = <code title="&lt;PyCObject object at 0x2b0eaa8&gt;">&lt;PyCObject object at 0x2b0eaa8&gt;</code>
</td>
</tr>
<tr>
@ -3234,7 +3291,7 @@ NSPR Error Constants:</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:11 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -338,7 +339,7 @@ operation.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -347,7 +348,7 @@ current thread is queried and substituted.</dd>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -516,7 +517,7 @@ second counted by PRIntervalTime on the current platform.</td>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="PR_INTERVAL_NO_TIMEOUT"></a><span class="summary-name">PR_INTERVAL_NO_TIMEOUT</span> = <code title="-1">-1</code>
<a name="PR_INTERVAL_NO_TIMEOUT"></a><span class="summary-name">PR_INTERVAL_NO_TIMEOUT</span> = <code title="4294967295">4294967295</code>
</td>
</tr>
<tr>
@ -733,7 +734,7 @@ second counted by PRIntervalTime on the current platform.</td>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="_C_API"></a><span class="summary-name">_C_API</span> = <code title="&lt;PyCObject object at 0x9ec2da0&gt;">&lt;PyCObject object at 0x9ec2da0&gt;</code>
<a name="_C_API"></a><span class="summary-name">_C_API</span> = <code title="&lt;PyCObject object at 0x2b0e9e0&gt;">&lt;PyCObject object at 0x2b0e9e0&gt;</code>
</td>
</tr>
<tr>
@ -875,7 +876,7 @@ and PR_INTERVAL_MAX.</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:11 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -439,7 +440,7 @@ the canonical name corresponding to hostname.</p></li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -497,7 +498,7 @@ HostEntry. Each item in the returned tuple is a NetworkAddress object.
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -469,7 +470,7 @@ and its use should be considered <em>deprecated</em>. Use <a href="nss.io.AddrIn
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -1620,7 +1621,7 @@ set_socket_option(PR_SockOpt_McastInterface, ifaddr)
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -138,6 +139,14 @@ This module implements the NSS functions
An object representing CRL Distribution Points list
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="nss.nss.CertAttribute-class.html" class="summary-name">CertAttribute</a><br />
CertAttribute()
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -375,6 +384,23 @@ given an algorithm tag.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">SecItem</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss-module.html#base64_to_binary" class="summary-sig-name">base64_to_binary</a>(<span class="summary-sig-arg">text</span>)</span><br />
Convert the base64 encoded data to binary data.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -2196,6 +2222,69 @@ usage bit string.</td>
<a name="AsTypeString"></a><span class="summary-name">AsTypeString</span> = <code title="2">2</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_GOVT_APPROVED_CA"></a><span class="summary-name">CERTDB_GOVT_APPROVED_CA</span> = <code title="512">512</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_NS_TRUSTED_CA"></a><span class="summary-name">CERTDB_NS_TRUSTED_CA</span> = <code title="32">32</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_SEND_WARN"></a><span class="summary-name">CERTDB_SEND_WARN</span> = <code title="4">4</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_TERMINAL_RECORD"></a><span class="summary-name">CERTDB_TERMINAL_RECORD</span> = <code title="1">1</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_TRUSTED"></a><span class="summary-name">CERTDB_TRUSTED</span> = <code title="2">2</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_TRUSTED_CA"></a><span class="summary-name">CERTDB_TRUSTED_CA</span> = <code title="16">16</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_TRUSTED_CLIENT_CA"></a><span class="summary-name">CERTDB_TRUSTED_CLIENT_CA</span> = <code title="128">128</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_USER"></a><span class="summary-name">CERTDB_USER</span> = <code title="64">64</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CERTDB_VALID_CA"></a><span class="summary-name">CERTDB_VALID_CA</span> = <code title="8">8</code>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -2760,7 +2849,7 @@ usage bit string.</td>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="CKA_VENDOR_DEFINED"></a><span class="summary-name">CKA_VENDOR_DEFINED</span> = <code title="-2147483648">-2147483648</code>
<a name="CKA_VENDOR_DEFINED"></a><span class="summary-name">CKA_VENDOR_DEFINED</span> = <code title="2147483648">2147483648</code>
</td>
</tr>
<tr>
@ -7086,7 +7175,7 @@ usage bit string.</td>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="_C_API"></a><span class="summary-name">_C_API</span> = <code title="&lt;PyCObject object at 0x9d5b2c0&gt;">&lt;PyCObject object at 0x9d5b2c0&gt;</code>
<a name="_C_API"></a><span class="summary-name">_C_API</span> = <code title="&lt;PyCObject object at 0x2b0ee18&gt;">&lt;PyCObject object at 0x2b0ee18&gt;</code>
</td>
</tr>
<tr>
@ -7582,6 +7671,33 @@ algorithm tag is invalid.
</dl>
</td></tr></table>
</div>
<a name="base64_to_binary"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">base64_to_binary</span>(<span class="sig-arg">text</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<p>Convert the base64 encoded data to binary data.</p>
<p>The text is assumed to contain base64 text. The base64 text may
optionally be wrapped in a PEM header and footer.</p>
<p>Returns a SecItem containg the binary data.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>text</code></strong> (string) - string containing base64 data.</li>
</ul></dd>
<dt>Returns: SecItem</dt>
</dl>
</td></tr></table>
</div>
<a name="cert_crl_reason_from_name"></a>
<div>
<table class="details" border="1" cellpadding="3"
@ -8235,11 +8351,11 @@ to this starting level.</dd>
<p>Generates digests of data (i.e. fingerprint) and formats
it into line tuples for text output.</p>
<dl class="fields">
<dt>Returns: <table class="rst-rst-docutils field-list rst-docutils field-list" frame="void" rules="none">
<dt>Returns: <table class="rst-docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="rst-rst-field rst-field"><th class="rst-rst-field-name rst-field-name">Parameters:</th><td class="rst-rst-field-body rst-field-body"></td>
<tr class="rst-field"><th class="rst-field-name">Parameters:</th><td class="rst-field-body"></td>
</tr>
</tbody>
</table></dt>
@ -9360,11 +9476,11 @@ call to <a href="nss.nss-module.html#nss_init_context" class="link">nss_init_con
<p>Shutdown NSS for the users of this context. When all contexts
have been shutdown NSS will fully shutdown.</p>
<dl class="fields">
<dt>Returns: <table class="rst-rst-docutils field-list rst-docutils field-list" frame="void" rules="none">
<dt>Returns: <table class="rst-docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="rst-rst-field rst-field"><th class="rst-rst-field-name rst-field-name">Parameters:</th><td class="rst-rst-field-body rst-field-body"></td>
<tr class="rst-field"><th class="rst-field-name">Parameters:</th><td class="rst-field-body"></td>
</tr>
</tbody>
</table></dt>
@ -10751,7 +10867,7 @@ May be one of:</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -429,7 +430,7 @@ DER format.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -421,12 +422,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -495,7 +496,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -423,12 +424,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -518,7 +519,7 @@ May be one of:</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -383,12 +384,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -457,7 +458,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -391,12 +392,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -435,7 +436,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -405,12 +406,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -479,7 +480,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -431,12 +432,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -567,7 +568,7 @@ May be one of:</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -424,12 +425,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -468,7 +469,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -0,0 +1,515 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>nss.nss.CertAttribute</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="nss-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="nss-module.html">Package&nbsp;nss</a> ::
<a href="nss.nss-module.html">Module&nbsp;nss</a> ::
Class&nbsp;CertAttribute
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="nss.nss.CertAttribute-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class CertAttribute</h1><p class="nomargin-top"></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">CertAttribute</strong>
</pre>
<hr />
<p>CertAttribute()</p>
<p>An object representing CertAttribute.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__getitem__"></a><span class="summary-sig-name">__getitem__</span>(<span class="summary-sig-arg">x</span>,
<span class="summary-sig-arg">y</span>)</span><br />
x[y]</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.CertAttribute-class.html#__init__" class="summary-sig-name">__init__</a>()</span><br />
x.__init__(...) initializes x; see help(type(x)) for signature</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="__len__"></a><span class="summary-sig-name">__len__</span>(<span class="summary-sig-arg">x</span>)</span><br />
len(x)</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">a new object with type S, a subtype of T</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.CertAttribute-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
<span class="summary-sig-arg">S</span>,
<span class="summary-sig-arg">...</span>)</span></td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.CertAttribute-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">x</span>)</span><br />
str(x)</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">string)</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.CertAttribute-class.html#format" class="summary-sig-name">format</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>,
<span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">' '</span>)</span><br />
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">[(level, string),...]</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.CertAttribute-class.html#format_lines" class="summary-sig-name">format_lines</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>)</span><br />
Formats the object into a sequence of lines with indent level
information.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__format__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__sizeof__</code>,
<code>__subclasshook__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="type_oid"></a><span class="summary-name">type_oid</span><br />
type OID as SecItem
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="type_str"></a><span class="summary-name">type_str</span><br />
type as string description
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="nss.nss.CertAttribute-class.html#type_tag" class="summary-name">type_tag</a><br />
type TAG as a enumerated constant (e.g.
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="values"></a><span class="summary-name">values</span><br />
tuple of CertificateExtension objects if type_tag == SEC_OID_PKCS9_EXTENSION_REQUEST else tuple of SecItem objects
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>()</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
x.__init__(...) initializes x; see help(type(x)) for signature
<dl class="fields">
<dt>Overrides:
object.__init__
</dt>
</dl>
</td></tr></table>
</div>
<a name="__new__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
<span class="sig-arg">S</span>,
<span class="sig-arg">...</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<dl class="fields">
<dt>Returns: a new object with type S, a subtype of T</dt>
<dt>Overrides:
object.__new__
</dt>
</dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">x</span>)</span>
<br /><em class="fname">(Informal representation operator)</em>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
str(x)
<dl class="fields">
<dt>Overrides:
object.__str__
</dt>
</dl>
</td></tr></table>
</div>
<a name="format"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">format</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>,
<span class="sig-arg">indent</span>=<span class="sig-default">' '</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
<li><strong class="pname"><code>indent</code></strong> (string) - string replicated once for each indent level then prepended to output line</li>
</ul></dd>
<dt>Returns: string)</dt>
</dl>
</td></tr></table>
</div>
<a name="format_lines"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">format_lines</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<p>Formats the object into a sequence of lines with indent level
information. The return value is a list where each list item is a
tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
</ul></dd>
<dt>Returns: [(level, string),...]</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== PROPERTY DETAILS ==================== -->
<a name="section-PropertyDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Property Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-PropertyDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="type_tag"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">type_tag</h3>
type TAG as a enumerated constant (e.g. tag)
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="nss-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -357,7 +358,7 @@ An object representing a Certificate Database
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -356,12 +357,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -400,7 +401,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -338,12 +339,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -382,7 +383,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:12 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:09 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -330,6 +331,42 @@ within the the current NSS database.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.Certificate-class.html#set_trust_attributes" class="summary-sig-name">set_trust_attributes</a>(<span class="summary-sig-arg">...</span>)</span><br />
set_trust_attributes(trust, certdb, slot, [user_data1, ...])</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">['flag_name', ...]</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.Certificate-class.html#trust_flags" class="summary-sig-name">trust_flags</a>(<span class="summary-sig-arg">flags</span>,
<span class="summary-sig-arg">repr_kind</span>=<span class="summary-sig-default">AsEnumDescription</span>)</span><br />
Given an integer with trust flags encoded as a bitmask
return a sorted list of their values as specified in the repr_kind</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -455,6 +492,14 @@ returning True if so, False otherwise.</td>
raw certificate DER data as data buffer
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="email_trust_flags"></a><span class="summary-name">email_trust_flags</span><br />
certificate email trust flags as integer bitmask, or None if not defined
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -503,6 +548,14 @@ returning True if so, False otherwise.</td>
certificate signature as SignedData object
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="signing_trust_flags"></a><span class="summary-name">signing_trust_flags</span><br />
certificate object signing trust flags as integer bitmask, or None if not defined
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -511,6 +564,14 @@ returning True if so, False otherwise.</td>
certificate object signing trust flags as array of strings, or None if trust is not defined
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="ssl_trust_flags"></a><span class="summary-name">ssl_trust_flags</span><br />
certificate SSL trust flags as integer bitmask, or None if not defined
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -892,12 +953,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -1109,6 +1170,72 @@ tested for existence in the dabase until a unique name is found.</li>
</dl>
</td></tr></table>
</div>
<a name="set_trust_attributes"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">set_trust_attributes</span>(<span class="sig-arg">...</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
set_trust_attributes(trust, certdb, slot, [user_data1, ...])
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>string</code></strong> (trust) - NSS trust string</li>
<li><strong class="pname"><code>certdb</code></strong> (CertDB object or None) - CertDB certificate database object, if None then the default
certdb will be supplied by calling <a href="nss.nss-module.html#get_default_certdb" class="link">nss.get_default_certdb()</a>.</li>
<li><strong class="pname"><code>slot</code></strong> (<a href="nss.nss.PK11Slot-class.html" class="link">PK11Slot</a> object) - The PK11 slot to use. If None defaults to internal
slot, see <a href="nss.nss-module.html#get_internal_key_slot" class="link">nss.get_internal_key_slot()</a></li>
<li><strong class="pname"><code>user_dataN</code></strong> (object) - zero or more caller supplied parameters which will
be passed to the password callback function</li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<a name="trust_flags"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">trust_flags</span>(<span class="sig-arg">flags</span>,
<span class="sig-arg">repr_kind</span>=<span class="sig-default">AsEnumDescription</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<p>Given an integer with trust flags encoded as a bitmask
return a sorted list of their values as specified in the repr_kind</p>
<p>This is a class method.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>flags</code></strong> (int) - certificate trust integer bitmask</li>
<li><p><strong class="pname"><code>repr_kind</code></strong> (RepresentationKind constant) - Specifies what the contents of the returned list will be.
May be one of:</p>
<dl class="rst-docutils">
<dt>AsEnum</dt>
<dd>The enumerated constant as an integer value.</dd>
<dt>AsEnumName</dt>
<dd>The name of the enumerated constant as a string.</dd>
<dt>AsEnumDescription</dt>
<dd>A friendly human readable description of the enumerated constant as a string.</dd>
</dl></li>
</ul></dd>
<dt>Returns: ['flag_name', ...]</dt>
</dl>
</td></tr></table>
</div>
<a name="verify"></a>
<div>
<table class="details" border="1" cellpadding="3"
@ -1374,7 +1501,7 @@ be passed to the password callback function</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -429,12 +430,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -503,7 +504,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -222,6 +223,14 @@ information.</td>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="attributes"></a><span class="summary-name">attributes</span><br />
certificate request attributes as a tuple of CertAttribute objects
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
@ -426,12 +435,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -470,7 +479,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -749,7 +750,7 @@ SEC_OID_* enumeration constant</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -405,12 +406,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -449,7 +450,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -360,11 +361,11 @@ May be one of:</p>
</blockquote>
<p>Returns the value of the GeneralName according to the representation type parameter.</p>
<dl class="fields">
<dt>Returns: <table class="rst-rst-docutils field-list rst-docutils field-list" frame="void" rules="none">
<dt>Returns: <table class="rst-docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="rst-rst-field rst-field"><th class="rst-rst-field-name rst-field-name">Parameters:</th><td class="rst-rst-field-body rst-field-body"></td>
<tr class="rst-field"><th class="rst-field-name">Parameters:</th><td class="rst-field-body"></td>
</tr>
</tbody>
</table></dt>
@ -428,7 +429,7 @@ May be one of:</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -228,7 +229,7 @@ An object representing NSSInitContext
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -423,12 +424,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -467,7 +468,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -435,12 +436,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -479,7 +480,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -595,7 +596,7 @@ not encryption/decryption contexts</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -659,11 +660,11 @@ called to be available again.</td>
password callback (set via <a href="nss.nss-module.html#set_password_callback" class="link">nss.set_password_callback()</a>) passing the
optional user_data parameters to the password callback.</p>
<dl class="fields">
<dt>Returns: <table class="rst-rst-docutils field-list rst-docutils field-list" frame="void" rules="none">
<dt>Returns: <table class="rst-docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="rst-rst-field rst-field"><th class="rst-rst-field-name rst-field-name">Parameters:</th><td class="rst-rst-field-body rst-field-body"></td>
<tr class="rst-field"><th class="rst-field-name">Parameters:</th><td class="rst-field-body"></td>
</tr>
</tbody>
</table></dt>
@ -940,7 +941,7 @@ called to be available again. Sets disable reason to PK11_DIS_NONE.
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -484,7 +485,7 @@ and parameter. Return the wrapped key as a SecItem.
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -438,12 +439,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -482,7 +483,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -481,12 +482,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -525,7 +526,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -253,7 +254,7 @@ An object representing a Private Key
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -421,12 +422,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -495,7 +496,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -440,7 +441,7 @@ SEC_OID_* enumeration constant</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -316,7 +317,7 @@ object --+
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -405,12 +406,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -449,7 +450,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -238,6 +239,24 @@ of a &lt;type,length,value&gt; triplet (e.g.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">int or long</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_integer"></a><span class="summary-sig-name">get_integer</span>()</span><br />
If the SecItem contains an ASN.1 integer in DER format return
a Python integer (or long)</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -250,8 +269,7 @@ of a &lt;type,length,value&gt; triplet (e.g.</td>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.nss.SecItem-class.html#get_oid_sequence" class="summary-sig-name">get_oid_sequence</a>(<span class="summary-sig-arg">sec_item</span>,
<span class="summary-sig-arg">repr_kind</span>=<span class="summary-sig-default">AsString</span>)</span><br />
<td><span class="summary-sig"><a href="nss.nss.SecItem-class.html#get_oid_sequence" class="summary-sig-name">get_oid_sequence</a>(<span class="summary-sig-arg">repr_kind</span>=<span class="summary-sig-default">AsString</span>)</span><br />
Return a tuple of OID's according the representation kind.</td>
<td align="right" valign="top">
@ -527,8 +545,7 @@ passed and no separator will be used.</li>
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">get_oid_sequence</span>(<span class="sig-arg">sec_item</span>,
<span class="sig-arg">repr_kind</span>=<span class="sig-default">AsString</span>)</span>
<h3 class="epydoc"><span class="sig"><span class="sig-name">get_oid_sequence</span>(<span class="sig-arg">repr_kind</span>=<span class="sig-default">AsString</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
@ -539,7 +556,6 @@ passed and no separator will be used.</li>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>sec_item</code></strong> (SecItem object) - A SecItem containing a DER encoded sequence of OID's</li>
<li><p><strong class="pname"><code>repr_kind</code></strong> (RepresentationKind constant) - Specifies what the contents of the returned tuple will be.
May be one of:</p>
<dl class="rst-docutils">
@ -617,7 +633,7 @@ passed and no separator will be used.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -270,7 +271,7 @@ An object representing a signed certificate revocation list
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -421,12 +422,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -465,7 +466,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -405,12 +406,12 @@ tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a>, e.g.:</p>
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">indented_format()</a> for a
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
@ -449,7 +450,7 @@ to this starting level.</li>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -0,0 +1,554 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>nss.ssl.SSLChannelInfo</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="nss-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="nss-module.html">Package&nbsp;nss</a> ::
<a href="nss.ssl-module.html">Module&nbsp;ssl</a> ::
Class&nbsp;SSLChannelInfo
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="nss.ssl.SSLChannelInfo-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class SSLChannelInfo</h1><p class="nomargin-top"></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">SSLChannelInfo</strong>
</pre>
<hr />
<p>SSLChannelInformation(obj)</p>
<p>An object representing SSLChannelInformation.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLChannelInfo-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">obj</span>)</span><br />
x.__init__(...) initializes x; see help(type(x)) for signature</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">a new object with type S, a subtype of T</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLChannelInfo-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
<span class="summary-sig-arg">S</span>,
<span class="summary-sig-arg">...</span>)</span></td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLChannelInfo-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">x</span>)</span><br />
str(x)</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">string)</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLChannelInfo-class.html#format" class="summary-sig-name">format</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>,
<span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">' '</span>)</span><br />
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">[(level, string),...]</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLChannelInfo-class.html#format_lines" class="summary-sig-name">format_lines</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>)</span><br />
Formats the object into a sequence of lines with indent level
information.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__format__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__sizeof__</code>,
<code>__subclasshook__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="auth_key_bits"></a><span class="summary-name">auth_key_bits</span><br />
Returns the auth key bits
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="cipher_suite"></a><span class="summary-name">cipher_suite</span><br />
Returns the cipher suite enum
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="compression_method"></a><span class="summary-name">compression_method</span><br />
Returns the compression method enum
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="compression_method_name"></a><span class="summary-name">compression_method_name</span><br />
Returns the compression method name
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="creation_time"></a><span class="summary-name">creation_time</span><br />
Returns creation time as a DateTime object in local time zone
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="creation_time_utc"></a><span class="summary-name">creation_time_utc</span><br />
Returns creation time as a DateTime object in UTC time zone
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="expiration_time"></a><span class="summary-name">expiration_time</span><br />
Returns expiration time as a DateTime object in local time zone
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="expiration_time_utc"></a><span class="summary-name">expiration_time_utc</span><br />
Returns expiration time as a DateTime object in UTC time zone
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="kea_key_bits"></a><span class="summary-name">kea_key_bits</span><br />
Returns the kea key bits
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="last_access_time"></a><span class="summary-name">last_access_time</span><br />
Returns last access time as a DateTime object in local time zone
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="last_access_time_utc"></a><span class="summary-name">last_access_time_utc</span><br />
Returns last access time as a DateTime object in UTC time zone
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="major_protocol_version"></a><span class="summary-name">major_protocol_version</span><br />
Returns the major protocol version
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="minor_protocol_version"></a><span class="summary-name">minor_protocol_version</span><br />
Returns the minor protocol version
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="protocol_version"></a><span class="summary-name">protocol_version</span><br />
Returns the protocol version, major in octet[1], minor in octet[0]
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="protocol_version_enum"></a><span class="summary-name">protocol_version_enum</span><br />
Returns the protocol version as an enumerated constant
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="protocol_version_str"></a><span class="summary-name">protocol_version_str</span><br />
Returns the protocol version as a descriptive string
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="session_id"></a><span class="summary-name">session_id</span><br />
Returns the session ID as a SecItem object
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">obj</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
x.__init__(...) initializes x; see help(type(x)) for signature
<dl class="fields">
<dt>Overrides:
object.__init__
</dt>
</dl>
</td></tr></table>
</div>
<a name="__new__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
<span class="sig-arg">S</span>,
<span class="sig-arg">...</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<dl class="fields">
<dt>Returns: a new object with type S, a subtype of T</dt>
<dt>Overrides:
object.__new__
</dt>
</dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">x</span>)</span>
<br /><em class="fname">(Informal representation operator)</em>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
str(x)
<dl class="fields">
<dt>Overrides:
object.__str__
</dt>
</dl>
</td></tr></table>
</div>
<a name="format"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">format</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>,
<span class="sig-arg">indent</span>=<span class="sig-default">' '</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
<li><strong class="pname"><code>indent</code></strong> (string) - string replicated once for each indent level then prepended to output line</li>
</ul></dd>
<dt>Returns: string)</dt>
</dl>
</td></tr></table>
</div>
<a name="format_lines"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">format_lines</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<p>Formats the object into a sequence of lines with indent level
information. The return value is a list where each list item is a
tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
</ul></dd>
<dt>Returns: [(level, string),...]</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="nss-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

Просмотреть файл

@ -0,0 +1,554 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>nss.ssl.SSLCipherSuiteInfo</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="nss-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
<a href="nss-module.html">Package&nbsp;nss</a> ::
<a href="nss.ssl-module.html">Module&nbsp;ssl</a> ::
Class&nbsp;SSLCipherSuiteInfo
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="nss.ssl.SSLCipherSuiteInfo-class.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class SSLCipherSuiteInfo</h1><p class="nomargin-top"></p>
<pre class="base-tree">
object --+
|
<strong class="uidshort">SSLCipherSuiteInfo</strong>
</pre>
<hr />
<p>SSLCipherSuiteInformation(obj)</p>
<p>An object representing SSLCipherSuiteInformation.</p>
<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Instance Methods</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-InstanceMethods"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLCipherSuiteInfo-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">obj</span>)</span><br />
x.__init__(...) initializes x; see help(type(x)) for signature</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">a new object with type S, a subtype of T</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLCipherSuiteInfo-class.html#__new__" class="summary-sig-name">__new__</a>(<span class="summary-sig-arg">T</span>,
<span class="summary-sig-arg">S</span>,
<span class="summary-sig-arg">...</span>)</span></td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLCipherSuiteInfo-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">x</span>)</span><br />
str(x)</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">string)</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLCipherSuiteInfo-class.html#format" class="summary-sig-name">format</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>,
<span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">' '</span>)</span><br />
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">[(level, string),...]</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLCipherSuiteInfo-class.html#format_lines" class="summary-sig-name">format_lines</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>)</span><br />
Formats the object into a sequence of lines with indent level
information.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__delattr__</code>,
<code>__format__</code>,
<code>__getattribute__</code>,
<code>__hash__</code>,
<code>__reduce__</code>,
<code>__reduce_ex__</code>,
<code>__repr__</code>,
<code>__setattr__</code>,
<code>__sizeof__</code>,
<code>__subclasshook__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Properties</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Properties"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="auth_algorithm"></a><span class="summary-name">auth_algorithm</span><br />
Returns the auth algorithm enum
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="auth_algorithm_name"></a><span class="summary-name">auth_algorithm_name</span><br />
Returns the auth algorithm name
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="cipher_suite"></a><span class="summary-name">cipher_suite</span><br />
Returns the cipher suite enum
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="cipher_suite_name"></a><span class="summary-name">cipher_suite_name</span><br />
Returns the cipher suite name
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="effective_key_bits"></a><span class="summary-name">effective_key_bits</span><br />
Returns the effective key bits
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="is_exportable"></a><span class="summary-name">is_exportable</span><br />
Returns True if exportable, False otherwise
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="is_fips"></a><span class="summary-name">is_fips</span><br />
Returns True if FIPS, False otherwise
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="is_nonstandard"></a><span class="summary-name">is_nonstandard</span><br />
Returns True if nonstandard, False otherwise
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="kea_type"></a><span class="summary-name">kea_type</span><br />
Returns the kea type enum
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="kea_type_name"></a><span class="summary-name">kea_type_name</span><br />
Returns the kea type name
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="mac_algorithm"></a><span class="summary-name">mac_algorithm</span><br />
Returns the mac algorithm enum
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="mac_algorithm_name"></a><span class="summary-name">mac_algorithm_name</span><br />
Returns the mac algorithm name
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="mac_bits"></a><span class="summary-name">mac_bits</span><br />
Returns the mac bits
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="symmetric_cipher"></a><span class="summary-name">symmetric_cipher</span><br />
Returns the symmetric cipher enum
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="symmetric_cipher_name"></a><span class="summary-name">symmetric_cipher_name</span><br />
Returns the symmetric cipher name
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="symmetric_key_bits"></a><span class="summary-name">symmetric_key_bits</span><br />
Returns the symmetric key bits
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a name="symmetric_key_space"></a><span class="summary-name">symmetric_key_space</span><br />
Returns the symmetric key space
</td>
</tr>
<tr>
<td colspan="2" class="summary">
<p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
<code>__class__</code>
</p>
</td>
</tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Method Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-MethodDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">obj</span>)</span>
<br /><em class="fname">(Constructor)</em>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
x.__init__(...) initializes x; see help(type(x)) for signature
<dl class="fields">
<dt>Overrides:
object.__init__
</dt>
</dl>
</td></tr></table>
</div>
<a name="__new__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__new__</span>(<span class="sig-arg">T</span>,
<span class="sig-arg">S</span>,
<span class="sig-arg">...</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<dl class="fields">
<dt>Returns: a new object with type S, a subtype of T</dt>
<dt>Overrides:
object.__new__
</dt>
</dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">x</span>)</span>
<br /><em class="fname">(Informal representation operator)</em>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
str(x)
<dl class="fields">
<dt>Overrides:
object.__str__
</dt>
</dl>
</td></tr></table>
</div>
<a name="format"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">format</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>,
<span class="sig-arg">indent</span>=<span class="sig-default">' '</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
<li><strong class="pname"><code>indent</code></strong> (string) - string replicated once for each indent level then prepended to output line</li>
</ul></dd>
<dt>Returns: string)</dt>
</dl>
</td></tr></table>
</div>
<a name="format_lines"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">format_lines</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<p>Formats the object into a sequence of lines with indent level
information. The return value is a list where each list item is a
tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
</ul></dd>
<dt>Returns: [(level, string),...]</dt>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Home link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="nss-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -154,6 +155,60 @@ an SSL server.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">string)</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#connection_info_format" class="summary-sig-name">connection_info_format</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>,
<span class="summary-sig-arg">indent</span>=<span class="summary-sig-default">' '</span>)</span><br />
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">[(level, string),...]</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#connection_info_format_lines" class="summary-sig-name">connection_info_format_lines</a>(<span class="summary-sig-arg">level</span>=<span class="summary-sig-default">0</span>)</span><br />
Formats the object into a sequence of lines with indent level
information.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">str</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="connection_info_str"></a><span class="summary-sig-name">connection_info_str</span>()</span><br />
Returns a string describing the properties of the SSL connection.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -204,7 +259,7 @@ middle of doing a handshake.</td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#force_handshake_timeout" class="summary-sig-name">force_handshake_timeout</a>(<span class="summary-sig-arg">timeout</span>)</span><br />
See the documentation for SSLSocket.force_handshake().</td>
See the documentation for <a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a>.</td>
<td align="right" valign="top">
@ -257,13 +312,30 @@ the socket.</td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_hostname"></a><span class="summary-sig-name">get_hostname</span>()</span><br />
SSLSocket.get_hostname() is used by certificate authentication callback
<a href="nss.ssl.SSLSocket-class.html#get_hostname" class="link">SSLSocket.get_hostname()</a> is used by certificate authentication callback
function to obtain the domain name of the desired SSL server for the
purpose of comparing it with the domain name in the certificate
presented by the server actually contacted.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">string</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_negotiated_host"></a><span class="summary-sig-name">get_negotiated_host</span>()</span><br />
Returns SNI negotiated host name.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -277,7 +349,7 @@ presented by the server actually contacted.</td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#get_peer_certificate" class="summary-sig-name">get_peer_certificate</a>()</span><br />
SSLSocket.get__peer_certificate() is used by certificate
<a href="nss.ssl.SSLSocket-class.html#get_peer_certificate" class="link">SSLSocket.get_peer_certificate()</a> is used by certificate
authentication and bad-certificate callback functions to obtain the
certificate under scrutiny.</td>
<td align="right" valign="top">
@ -297,7 +369,7 @@ certificate under scrutiny.</td>
<tr>
<td><span class="summary-sig"><a name="get_pkcs11_pin_arg"></a><span class="summary-sig-name">get_pkcs11_pin_arg</span>()</span><br />
Returns a tuple of arguments or None if not previously set with
SSLSocket.set_pkcs11_pin_arg()</td>
<a href="nss.ssl.SSLSocket-class.html#set_pkcs11_pin_arg" class="link">SSLSocket.set_pkcs11_pin_arg()</a></td>
<td align="right" valign="top">
@ -335,6 +407,23 @@ SSLSocket.set_pkcs11_pin_arg()</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">SSLChannelInfo</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="get_ssl_channel_info"></a><span class="summary-sig-name">get_ssl_channel_info</span>()</span><br />
Returns a <a href="nss.ssl.SSLChannelInfo-class.html" class="link">ssl.SSLChannelInfo</a> describing the parameters of the connection.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -352,6 +441,23 @@ SSLSocket.set_pkcs11_pin_arg()</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">(min_version, max_version)</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#get_ssl_version_range" class="summary-sig-name">get_ssl_version_range</a>(<span class="summary-sig-arg">repr_kind</span>=<span class="summary-sig-default">AsEnum</span>)</span><br />
Returns the range of SSL3/TLS versions enabled for the socket.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -403,7 +509,7 @@ already completed one handshake.</td>
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#rehandshake_timeout" class="summary-sig-name">rehandshake_timeout</a>(<span class="summary-sig-arg">flush_cache</span>,
<span class="summary-sig-arg">timeout</span>)</span><br />
See the documentation for SSLSocket.rehandshake().</td>
See the documentation for <a href="nss.ssl.SSLSocket-class.html#rehandshake" class="link">SSLSocket.rehandshake()</a>.</td>
<td align="right" valign="top">
@ -420,7 +526,7 @@ already completed one handshake.</td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#reset_handshake" class="summary-sig-name">reset_handshake</a>(<span class="summary-sig-arg">as_server</span>)</span><br />
Calling SSLSocket.reset_handshake() causes the SSL handshake protocol
Calling <a href="nss.ssl.SSLSocket-class.html#reset_handshake" class="link">SSLSocket.reset_handshake()</a> causes the SSL handshake protocol
to start from the beginning on the next I/O operation.</td>
<td align="right" valign="top">
@ -585,6 +691,24 @@ session when it is tunneling through a proxy.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="nss.ssl.SSLSocket-class.html#set_ssl_version_range" class="summary-sig-name">set_ssl_version_range</a>(<span class="summary-sig-arg">min_version</span>,
<span class="summary-sig-arg">max_version</span>)</span><br />
Sets the range of enabled SSL3/TLS versions for this socket.</td>
<td align="right" valign="top">
</td>
</tr>
</table>
@ -850,7 +974,7 @@ Networkaddress object for the peer.</p>
</tr></table>
Configures a listen socket with the information needed to handshake as
an SSL server. SSLSocket.config_secure_server() requires the
an SSL server. <a href="nss.ssl.SSLSocket-class.html#config_secure_server" class="link">SSLSocket.config_secure_server()</a> requires the
certificate for the server and the server's private key.
<dl class="fields">
<dt>Parameters:</dt>
@ -862,6 +986,71 @@ certificate for the server and the server's private key.
</dl>
</td></tr></table>
</div>
<a name="connection_info_format"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">connection_info_format</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>,
<span class="sig-arg">indent</span>=<span class="sig-default">' '</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
This is equivalent to:
indented_format(obj.format_lines()) on an object providing a format_lines() method.
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
<li><strong class="pname"><code>indent</code></strong> (string) - string replicated once for each indent level then prepended to output line</li>
</ul></dd>
<dt>Returns: string)</dt>
</dl>
</td></tr></table>
</div>
<a name="connection_info_format_lines"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">connection_info_format_lines</span>(<span class="sig-arg">level</span>=<span class="sig-default">0</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
<p>Formats the object into a sequence of lines with indent level
information. The return value is a list where each list item is a
tuple. The first item in the tuple is an integer
representing the indentation level for that line. Any remaining items
in the tuple are strings to be output on that line.</p>
<p>The output of this function can be formatted into a single string by
calling <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a>, e.g.:</p>
<blockquote>
print indented_format(obj.format_lines())</blockquote>
<p>The reason this function returns a tuple as opposed to an single
indented string is to support other text formatting systems such as
GUI's with indentation controls. See <a href="nss.nss-module.html#indented_format" class="link">nss.nss.indented_format()</a> for a
complete explanation.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>level</code></strong> (integer) - Initial indentation level, all subsequent indents are relative
to this starting level.</li>
</ul></dd>
<dt>Returns: [(level, string),...]</dt>
</dl>
</td></tr></table>
</div>
<a name="data_pending"></a>
<div>
<table class="details" border="1" cellpadding="3"
@ -879,7 +1068,7 @@ certificate for the server and the server's private key.
<p>Returns the number of bytes waiting in internal SSL buffers to be read
by the local application from the SSL socket.</p>
<p>If SSL_SECURITY has not been enabled with a call to
SSLSocket.set_ssl_default_option() or SSLSocket.set_ssl_option(), the
<a href="nss.ssl-module.html#set_ssl_default_option" class="link">ssl.set_ssl_default_option()</a> or <a href="nss.ssl.SSLSocket-class.html#set_ssl_option" class="link">SSLSocket.set_ssl_option()</a>, the
function returns zero.</p>
<dl class="fields">
</dl>
@ -908,27 +1097,27 @@ handshakes, the function can return either because the handshake is
complete, or because application data has been received on the
connection that must be processed (that is, the application must read
it) before the handshake can continue. You can use
SSLSocket.force_handshake() when a handshake is desired but neither
<a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a> when a handshake is desired but neither
end has anything to say immediately. This occurs, for example, when an
HTTPS server has received a request and determines that before it can
answer the request, it needs to request an authentication certificate
from the client. At the HTTP protocol level, nothing more is being
said (that is, no HTTP request or response is being sent), so the
server uses SSLSocket.force_handshake() to make the handshake
occur. SSLSocket.force_handshake() does not prepare a socket to do a
server uses <a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a> to make the handshake
occur. <a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a> does not prepare a socket to do a
handshake by itself. The following functions prepare a socket to do a
handshake:</p>
<blockquote>
<ul class="rst-simple">
<li>SSLSocket.connect()</li>
<li>SSLSocket.accept()</li>
<li>SSLSocket.rehandshake()
<li><a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a></li>
<li><a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a></li>
<li><a href="nss.ssl.SSLSocket-class.html#rehandshake" class="link">SSLSocket.rehandshake()</a>
(after the first handshake is finished)</li>
<li>SSLSocket.reset_handshake
(for sockets that were connected or accepted prior to being imported)</li>
</ul>
</blockquote>
<p>A call to SSLSocket.force_handshake() will almost always be preceded
<p>A call to <a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a> will almost always be preceded
by one of those functions. In versions prior to NSS 1.2, you cannot
force a subsequent handshake. If you use this function after the
initial handshake, it returns immediately without forcing a handshake.</p>
@ -950,7 +1139,7 @@ initial handshake, it returns immediately without forcing a handshake.</p>
</td>
</tr></table>
See the documentation for SSLSocket.force_handshake(). This function
See the documentation for <a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a>. This function
adds a timeout interval.
<dl class="fields">
<dt>Parameters:</dt>
@ -999,11 +1188,11 @@ the socket.
</td>
</tr></table>
SSLSocket.get__peer_certificate() is used by certificate
<a href="nss.ssl.SSLSocket-class.html#get_peer_certificate" class="link">SSLSocket.get_peer_certificate()</a> is used by certificate
authentication and bad-certificate callback functions to obtain the
certificate under scrutiny. If the client calls
SSLSocket.get_peer_certificate(), it always returns the server's
certificate. If the server calls SSLSocket.get_peer_certificate(), it
<a href="nss.ssl.SSLSocket-class.html#get_peer_certificate" class="link">SSLSocket.get_peer_certificate()</a>, it always returns the server's
certificate. If the server calls <a href="nss.ssl.SSLSocket-class.html#get_peer_certificate" class="link">SSLSocket.get_peer_certificate()</a>, it
may return None if client authentication is not enabled or if the
client had no certificate when asked.
<dl class="fields">
@ -1113,7 +1302,7 @@ certificate is supplied, the string is 'no certificate'</dd>
</tr></table>
Retrieves the value of a specified SSL option. Refer to the
documentation for SSLSocket.set_ssl_option() for an explanation of the
documentation for <a href="nss.ssl.SSLSocket-class.html#set_ssl_option" class="link">SSLSocket.set_ssl_option()</a> for an explanation of the
possible values.
<dl class="fields">
<dt>Parameters:</dt>
@ -1124,6 +1313,40 @@ possible values.
</dl>
</td></tr></table>
</div>
<a name="get_ssl_version_range"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">get_ssl_version_range</span>(<span class="sig-arg">repr_kind</span>=<span class="sig-default">AsEnum</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
Returns the range of SSL3/TLS versions enabled for the socket.
The result is a tuple whose contents are dictated by repr_kind.
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><p><strong class="pname"><code>repr_kind</code></strong> (RepresentationKind constant) - Specifies what format the contents of the returned tuple will be in.
May be one of:</p>
<dl class="rst-docutils">
<dt>AsEnum</dt>
<dd>The enumerated constant as an integer value.</dd>
<dt>AsEnumName</dt>
<dd>The name of the enumerated constant as a string.</dd>
<dt>AsString</dt>
<dd>A short friendly name for the enumerated constant.</dd>
</dl></li>
</ul></dd>
<dt>Returns: (min_version, max_version)</dt>
</dl>
</td></tr></table>
</div>
<a name="import_tcp_socket"></a>
<div>
<table class="details" border="1" cellpadding="3"
@ -1169,7 +1392,7 @@ communication.
<p>Causes SSL to begin a new SSL 3.0 handshake on a connection that has
already completed one handshake.</p>
<p>If flush_cache is True, the SSLSocket.rehandshake() function
<p>If flush_cache is True, the <a href="nss.ssl.SSLSocket-class.html#rehandshake" class="link">SSLSocket.rehandshake()</a> function
invalidates the current SSL session associated with the specified
SSLSocket from the session cache and starts another full SSL 3.0
handshake. It is for use with SSL 3.0 only. You can call this function
@ -1178,12 +1401,12 @@ configuration parameters (for example, if you are going to request
client authentication). Setting flush_cache to False can be useful,
for example, if you are using export ciphers and want to keep changing
the symmetric keys to foil potential
attackers. SSLSocket.rehandshake() only initiates the new handshake by
attackers. <a href="nss.ssl.SSLSocket-class.html#rehandshake" class="link">SSLSocket.rehandshake()</a> only initiates the new handshake by
sending the first message of that handshake. To drive the new
handshake to completion, you must either call
SSLSocket.force_handshake() or do another I/O operation (read or
write) on the socket. A call to SSLSocket.rehandshake() is typically
followed by a call to SSLSocket.force_handshake().</p>
<a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a> or do another I/O operation (read or
write) on the socket. A call to <a href="nss.ssl.SSLSocket-class.html#rehandshake" class="link">SSLSocket.rehandshake()</a> is typically
followed by a call to <a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a>.</p>
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
@ -1215,7 +1438,7 @@ private key operation.</li>
</td>
</tr></table>
See the documentation for SSLSocket.rehandshake(). This function
See the documentation for <a href="nss.ssl.SSLSocket-class.html#rehandshake" class="link">SSLSocket.rehandshake()</a>. This function
adds a timeout interval.
<dl class="fields">
<dt>Parameters:</dt>
@ -1240,17 +1463,17 @@ adds a timeout interval.
</td>
</tr></table>
Calling SSLSocket.reset_handshake() causes the SSL handshake protocol
Calling <a href="nss.ssl.SSLSocket-class.html#reset_handshake" class="link">SSLSocket.reset_handshake()</a> causes the SSL handshake protocol
to start from the beginning on the next I/O operation. That is, the
handshake starts with no cipher suite already in use, just as it does
on the first handshake on a new socket. When an application imports a
socket into SSL after the TCP connection on that socket has already
been established, it must call SSLSocket.reset_handshake() to
been established, it must call <a href="nss.ssl.SSLSocket-class.html#reset_handshake" class="link">SSLSocket.reset_handshake()</a> to
determine whether SSL should behave like an SSL client or an SSL
server. Note that this step would not be necessary if the socket
weren't already connected. For an SSL socket that is configured before
it is connected, SSL figures this out when the application calls
SSLSocket.connect() or SSLSocket.accept(). If the socket is already
<a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a> or <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a>. If the socket is already
connected before SSL gets involved, you must provide this extra hint.
<dl class="fields">
<dt>Parameters:</dt>
@ -1469,14 +1692,14 @@ or None if the callback failed.</p>
when a server asks for client authentication information. This
callback function is required if your client application is going to
support client authentication.</p>
<p>The callback function set with SSLSocket.set_client_auth_data_callback()
<p>The callback function set with <a href="nss.ssl.SSLSocket-class.html#set_client_auth_data_callback" class="link">SSLSocket.set_client_auth_data_callback()</a>
is used to get information from a client application when
authentication is requested by the server. The callback function
retrieves the client's private key and certificate. SSL provides an
implementation of this callback function; see NSS_GetClientAuthData
for details. Unlike SSL_AuthCertificate, NSS_GetClientAuthData is not
a default callback function. You must set it explicitly with
SSLSocket.set_client_auth_data_callback() if you want to use it.</p>
<a href="nss.ssl.SSLSocket-class.html#set_client_auth_data_callback" class="link">SSLSocket.set_client_auth_data_callback()</a> if you want to use it.</p>
<p>Example:</p>
<pre class="rst-literal-block">
def client_auth_data_callback(ca_names, chosen_nickname, password, certdb):
@ -1576,10 +1799,10 @@ needs to compare the domain name in the server's certificate against
the domain name of the server the client was attempting to
contact. This step is vital because it is the client's only protection
against a man-in-the-middle attack. The client application uses
SSLSocket.set_hostname() to set the domain name of the desired server
<a href="nss.ssl.SSLSocket-class.html#set_hostname" class="link">SSLSocket.set_hostname()</a> to set the domain name of the desired server
before performing the first SSL handshake. The client application's
certificate authentication callback function gets this string by
calling SSLSocket.get_hostname().
calling <a href="nss.ssl.SSLSocket-class.html#get_hostname" class="link">SSLSocket.get_hostname()</a>.
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
@ -1655,8 +1878,8 @@ information that identifies that server. This additional identifying
information is known as a peer ID. The peer ID is associated with a
socket, and must be set before the SSL handshake occurs--that is,
before the SSL handshake is initiated by a call to a function such as
SSLSocket.read() or SSLSocket.force_handshake(). To set the peer ID,
you use SSLSocket.set_sock_peer_id().</p>
<a href="nss.io.Socket-class.html#read" class="link">SSLSocket.read()</a> or <a href="nss.ssl.SSLSocket-class.html#force_handshake" class="link">SSLSocket.force_handshake()</a>. To set the peer ID,
you use <a href="nss.ssl.SSLSocket-class.html#set_sock_peer_id" class="link">SSLSocket.set_sock_peer_id()</a>.</p>
<p>In summary, SSL uses three pieces of information to identify a
server's entry in the client session cache: the hostname, port number,
and peer ID. In the case of a client that is tunneling through a
@ -1705,15 +1928,15 @@ certificate-based authentication, tamper detection, or encryption.</em></dd>
if SSL_REQUEST_CERTIFICATE is also on). If client does not provide
certificate, the connection terminates.</dd>
<dt>SSL_HANDSHAKE_AS_CLIENT: (default=False)</dt>
<dd>Controls the behavior of SSLSocket.accept(),. If this option is off,
the SSLSocket.accept() configures the SSL socket to handshake as a
server. If it is on, then SSLSocket.accept() configures the SSL socket
<dd>Controls the behavior of <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a>,. If this option is off,
the <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a> configures the SSL socket to handshake as a
server. If it is on, then <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a> configures the SSL socket
to handshake as a client, even though it accepted the connection as a
TCP server.</dd>
<dt>SSL_HANDSHAKE_AS_SERVER: (default=False)</dt>
<dd>Controls the behavior of SSLSocket.connect(). If this option is off,
then SSLSocket.connect() configures the SSL socket to handshake as a
client. If it is on, then SSLSocket.connect() configures the SSL
<dd>Controls the behavior of <a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a>. If this option is off,
then <a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a> configures the SSL socket to handshake as a
client. If it is on, then <a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a> configures the SSL
socket to handshake as a server, even though it connected as a TCP
client.</dd>
<dt>SSL_ENABLE_FDX: (default=False)</dt>
@ -1731,18 +1954,18 @@ information on this option.</p>
<dt>SSL_ENABLE_SSL3: (default=True)</dt>
<dd>Enables the application to communicate with SSL v3. If you turn this
option off, an attempt to establish a connection with a peer that
understands only SSL v3 will fail.</dd>
understands only SSL v3 will fail. <a class="rst-footnote-reference" href="#rst-id5" id="rst-id1">[1]</a></dd>
<dt>SSL_ENABLE_SSL2: (default=True)</dt>
<dd>Enables the application to communicate with SSL v2. If you turn this
option off, an attempt to establish a connection with a peer that
understands only SSL v2 will fail.</dd>
understands only SSL v2 will fail. <a class="rst-footnote-reference" href="#rst-id5" id="rst-id2">[1]</a></dd>
<dt>SSL_ENABLE_TLS: (default=True)</dt>
<dd>Is a peer of the SSL_ENABLE_SSL2 and SSL_ENABLE_SSL3 options. The IETF
standard Transport Layer Security (TLS) protocol, RFC 2246, is a
modified version of SSL3. It uses the SSL version number 3.1,
appearing to be a 'minor' revision of SSL3.0. NSS 2.8 supports TLS in
addition to SSL2 and SSL3. You can think of it as 'SSL_ENABLE_SSL3.1.'
See the description below for more information about this option.</dd>
See the description below for more information about this option. <a class="rst-footnote-reference" href="#rst-id5" id="rst-id3">[1]</a></dd>
<dt>SSL_V2_COMPATIBLE_HELLO: (default=True)</dt>
<dd>Tells the SSL library whether or not to send SSL3 client hello
messages in SSL2-compatible format. If set to True, it will;
@ -1802,7 +2025,7 @@ if they knew, somehow, that the server does not understand
SSL2-compatible client hello messages.</p>
<p>SSL_V2_COMPATIBLE_HELLO tells the SSL library whether or not to send
SSL3 client hello messages in SSL2-compatible format. Note that
calling SSLSocket.set_ssl_option() to set SSL_V2_COMPATIBLE_HELLO to
calling <a href="nss.ssl.SSLSocket-class.html#set_ssl_option" class="link">SSLSocket.set_ssl_option()</a> to set SSL_V2_COMPATIBLE_HELLO to
False implicitly also sets the SSL_ENABLE_SSL2 option to False for
that SSL socket. Calling SSL_EnableDefault to change the application
default setting for SSL_V2_COMPATIBLE_HELLO to False implicitly also
@ -1812,17 +2035,17 @@ application.</p>
each be set to True or False independently of each other. NSS 2.8 and
later versions will negotiate the highest protocol version with the
peer application from among the set of protocols that are commonly
enabled in both applications.</p>
enabled in both applications. <a class="rst-footnote-reference" href="#rst-id5" id="rst-id4">[1]</a></p>
<p>Note that SSL3 and TLS share the same set of cipher suites. When both
SSL3 and TLS are enabled, all SSL3/TLS cipher suites that are enabled
are enabled for both SSL3 and TLS.</p>
<p>When an application imports a socket into SSL after the TCP connection
on that socket has already been established, it must call
SSLSocket.reset_handshake() to indicate whether the socket is for a
<a href="nss.ssl.SSLSocket-class.html#reset_handshake" class="link">SSLSocket.reset_handshake()</a> to indicate whether the socket is for a
client or server. At first glance this may seem unnecessary, since
SSLSocket.set_ssl_option() can set SSL_HANDSHAKE_AS_CLIENT or
<a href="nss.ssl.SSLSocket-class.html#set_ssl_option" class="link">SSLSocket.set_ssl_option()</a> can set SSL_HANDSHAKE_AS_CLIENT or
SSL_HANDSHAKE_AS_SERVER. However, these settings control the behavior
of SSLSocket.connect() and SSLSocket.accept() only; if you don't call
of <a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a> and <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a> only; if you don't call
one of those functions after importing a non-SSL socket with
SSL_Import (as in the case of an already established TCP connection),
SSL still needs to know whether the application is functioning as a
@ -1830,9 +2053,9 @@ client or server.</p>
<p>If a socket file descriptor is imported as an SSL socket before it is
connected, it is implicitly configured to handshake as a client or
handshake as a server when the connection is made. If the application
calls SSLSocket.connect() (connecting as a TCP client), then the SSL
calls <a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a> (connecting as a TCP client), then the SSL
socket is (by default) configured to handshake as an SSL client. If
the application calls SSLSocket.accept() (connecting the socket as a
the application calls <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a> (connecting the socket as a
TCP server) then the SSL socket is (by default) configured to
handshake as an SSL server. SSL_HANDSHAKE_AS_CLIENT and
SSL_HANDSHAKE_AS_SERVER control this implicit configuration. Both
@ -1840,21 +2063,55 @@ SSL_HANDSHAKE_AS_CLIENT and SSL_HANDSHAKE_AS_SERVER are initially set
to off--that is, the process default for both values is False when the
process begins. The process default can be changed from the initial
values by using SSL_EnableDefault, and the value for a particular
socket can be changed by using SSLSocket.set_ssl_option().</p>
socket can be changed by using <a href="nss.ssl.SSLSocket-class.html#set_ssl_option" class="link">SSLSocket.set_ssl_option()</a>.</p>
<p>If a socket that is already connected gets imported into SSL after it
has been connected (that is, after SSLSocket.accept() or
SSLSocket.connect() has returned), then no implicit SSL handshake
has been connected (that is, after <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a> or
<a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a> has returned), then no implicit SSL handshake
configuration as a client or server will have been done by
SSLSocket.connect() or SSLSocket.accept() on that socket. In this
case, a call to SSLSocket.reset_handshake() is required to explicitly
<a href="nss.io.Socket-class.html#connect" class="link">SSLSocket.connect()</a> or <a href="nss.ssl.SSLSocket-class.html#accept" class="link">SSLSocket.accept()</a> on that socket. In this
case, a call to <a href="nss.ssl.SSLSocket-class.html#reset_handshake" class="link">SSLSocket.reset_handshake()</a> is required to explicitly
configure the socket to handshake as a client or as a server. If
SSLSocket.reset_handshake() is not called to explicitly configure the
<a href="nss.ssl.SSLSocket-class.html#reset_handshake" class="link">SSLSocket.reset_handshake()</a> is not called to explicitly configure the
socket handshake, a crash is likely to occur when the first I/O
operation is done on the socket after it is imported into SSL.</p>
<table class="rst-docutils footnote" frame="void" id="rst-id5" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="rst-label">[1]</td><td><em>(<a class="fn-backref" href="#id1">1</a>, <a class="fn-backref" href="#id2">2</a>, <a class="fn-backref" href="#id3">3</a>, <a class="fn-backref" href="#id4">4</a>)</em> See the &quot;SSL Version Range API&quot; section in the module
documentation for updated recomendations on protocol selection.</td></tr>
</tbody>
</table>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="set_ssl_version_range"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">set_ssl_version_range</span>(<span class="sig-arg">min_version</span>,
<span class="sig-arg">max_version</span>)</span>
</h3>
</td><td align="right" valign="top"
>&nbsp;
</td>
</tr></table>
Sets the range of enabled SSL3/TLS versions for this socket.
<dl class="fields">
<dt>Parameters:</dt>
<dd><ul class="nomargin-top">
<li><strong class="pname"><code>min_version</code></strong> (int or string) - Either a SSL_LIBRARY_VERSION_* enumerated constant or it's
string equivalent, see <a href="nss.ssl-module.html#ssl_library_version_from_name" class="link">ssl_library_version_from_name()</a></li>
<li><strong class="pname"><code>max_version</code></strong> (int or string) - Either a SSL_LIBRARY_VERSION_* enumerated constant or it's
string equivalent, see <a href="nss.ssl-module.html#ssl_library_version_from_name" class="link">ssl_library_version_from_name()</a></li>
</ul></dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
@ -1882,7 +2139,7 @@ operation is done on the socket after it is imported into SSL.</p>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Mon May 13 10:58:13 2013
Generated by Epydoc 3.0.1 on Mon Oct 27 11:17:10 2014
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -26,7 +27,8 @@
>nss.nss.AuthorityInfoAccesses</a><br /> <a target="mainFrame" href="nss.nss.BasicConstraints-class.html"
>nss.nss.BasicConstraints</a><br /> <a target="mainFrame" href="nss.nss.CRLDistributionPoint-class.html"
>nss.nss.CRLDistributionPoint</a><br /> <a target="mainFrame" href="nss.nss.CRLDistributionPts-class.html"
>nss.nss.CRLDistributionPts</a><br /> <a target="mainFrame" href="nss.nss.CertDB-class.html"
>nss.nss.CRLDistributionPts</a><br /> <a target="mainFrame" href="nss.nss.CertAttribute-class.html"
>nss.nss.CertAttribute</a><br /> <a target="mainFrame" href="nss.nss.CertDB-class.html"
>nss.nss.CertDB</a><br /> <a target="mainFrame" href="nss.nss.CertVerifyLog-class.html"
>nss.nss.CertVerifyLog</a><br /> <a target="mainFrame" href="nss.nss.CertVerifyLogNode-class.html"
>nss.nss.CertVerifyLogNode</a><br /> <a target="mainFrame" href="nss.nss.Certificate-class.html"
@ -52,7 +54,9 @@
>nss.nss.SecItem</a><br /> <a target="mainFrame" href="nss.nss.SignedCRL-class.html"
>nss.nss.SignedCRL</a><br /> <a target="mainFrame" href="nss.nss.SignedData-class.html"
>nss.nss.SignedData</a><br /> <a target="mainFrame" href="nss.nss.SubjectPublicKeyInfo-class.html"
>nss.nss.SubjectPublicKeyInfo</a><br /> <a target="mainFrame" href="nss.ssl.SSLSocket-class.html"
>nss.nss.SubjectPublicKeyInfo</a><br /> <a target="mainFrame" href="nss.ssl.SSLChannelInfo-class.html"
>nss.ssl.SSLChannelInfo</a><br /> <a target="mainFrame" href="nss.ssl.SSLCipherSuiteInfo-class.html"
>nss.ssl.SSLCipherSuiteInfo</a><br /> <a target="mainFrame" href="nss.ssl.SSLSocket-class.html"
>nss.ssl.SSLSocket</a><br /> <h2 class="toc">All Functions</h2>
<a target="mainFrame" href="nss.error-module.html#get_nspr_error_string"
>nss.error.get_nspr_error_string</a><br /> <a target="mainFrame" href="nss.io-module.html#addr_family_name"
@ -71,7 +75,8 @@
>nss.io.ntohs</a><br /> <a target="mainFrame" href="nss.io-module.html#seconds_to_interval"
>nss.io.seconds_to_interval</a><br /> <a target="mainFrame" href="nss.io-module.html#ticks_per_second"
>nss.io.ticks_per_second</a><br /> <a target="mainFrame" href="nss.nss-module.html#algtag_to_mechanism"
>nss.nss.algtag_to_mechanism</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_crl_reason_from_name"
>nss.nss.algtag_to_mechanism</a><br /> <a target="mainFrame" href="nss.nss-module.html#base64_to_binary"
>nss.nss.base64_to_binary</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_crl_reason_from_name"
>nss.nss.cert_crl_reason_from_name</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_crl_reason_name"
>nss.nss.cert_crl_reason_name</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_general_name_type_from_name"
>nss.nss.cert_general_name_type_from_name</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_general_name_type_name"
@ -171,21 +176,27 @@
>nss.ssl.config_mp_server_sid_cache</a><br /> <a target="mainFrame" href="nss.ssl-module.html#config_server_session_id_cache"
>nss.ssl.config_server_session_id_cache</a><br /> <a target="mainFrame" href="nss.ssl-module.html#config_server_session_id_cache_with_opt"
>nss.ssl.config_server_session_id_cache_with_opt</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_cipher_policy"
>nss.ssl.get_cipher_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_default_cipher_pref"
>nss.ssl.get_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_max_server_cache_locks"
>nss.ssl.get_cipher_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_cipher_suite_info"
>nss.ssl.get_cipher_suite_info</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_default_cipher_pref"
>nss.ssl.get_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_default_ssl_version_range"
>nss.ssl.get_default_ssl_version_range</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_max_server_cache_locks"
>nss.ssl.get_max_server_cache_locks</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_ssl_default_option"
>nss.ssl.get_ssl_default_option</a><br /> <a target="mainFrame" href="nss.ssl-module.html#nss_init"
>nss.ssl.nss_init</a><br /> <a target="mainFrame" href="nss.ssl-module.html#nss_shutdown"
>nss.ssl.nss_shutdown</a><br /> <a target="mainFrame" href="nss.ssl-module.html#nssinit"
>nss.ssl.nssinit</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_cipher_policy"
>nss.ssl.get_ssl_default_option</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_ssl_version_from_major_minor"
>nss.ssl.get_ssl_version_from_major_minor</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_supported_ssl_version_range"
>nss.ssl.get_supported_ssl_version_range</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_cipher_policy"
>nss.ssl.set_cipher_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_default_cipher_pref"
>nss.ssl.set_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_domestic_policy"
>nss.ssl.set_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_default_ssl_version_range"
>nss.ssl.set_default_ssl_version_range</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_domestic_policy"
>nss.ssl.set_domestic_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_export_policy"
>nss.ssl.set_export_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_france_policy"
>nss.ssl.set_france_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_max_server_cache_locks"
>nss.ssl.set_max_server_cache_locks</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_ssl_default_option"
>nss.ssl.set_ssl_default_option</a><br /> <a target="mainFrame" href="nss.ssl-module.html#shutdown_server_session_id_cache"
>nss.ssl.shutdown_server_session_id_cache</a><br /> <h2 class="toc">All Variables</h2>
>nss.ssl.shutdown_server_session_id_cache</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_cipher_suite_from_name"
>nss.ssl.ssl_cipher_suite_from_name</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_cipher_suite_name"
>nss.ssl.ssl_cipher_suite_name</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_library_version_from_name"
>nss.ssl.ssl_library_version_from_name</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_library_version_name"
>nss.ssl.ssl_library_version_name</a><br /> <h2 class="toc">All Variables</h2>
<a target="mainFrame" href="nss-module.html#__package__"
>nss.__package__</a><br /> <a target="mainFrame" href="nss.error-module.html#PR_ACCESS_FAULT_ERROR"
>nss.error.PR_ACCESS_FAULT_ERROR</a><br /> <a target="mainFrame" href="nss.error-module.html#PR_ADDRESS_IN_USE_ERROR"
@ -455,7 +466,8 @@
>nss.error.SSL_ERROR_DECOMPRESSION_FAILURE_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DECRYPTION_FAILED_ALERT"
>nss.error.SSL_ERROR_DECRYPTION_FAILED_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DECRYPTION_FAILURE"
>nss.error.SSL_ERROR_DECRYPTION_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DECRYPT_ERROR_ALERT"
>nss.error.SSL_ERROR_DECRYPT_ERROR_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_ENCRYPTION_FAILURE"
>nss.error.SSL_ERROR_DECRYPT_ERROR_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DIGEST_FAILURE"
>nss.error.SSL_ERROR_DIGEST_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_ENCRYPTION_FAILURE"
>nss.error.SSL_ERROR_ENCRYPTION_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_EXPIRED_CERT_ALERT"
>nss.error.SSL_ERROR_EXPIRED_CERT_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_EXPORT_ONLY_SERVER"
>nss.error.SSL_ERROR_EXPORT_ONLY_SERVER</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_EXPORT_RESTRICTION_ALERT"
@ -470,7 +482,9 @@
>nss.error.SSL_ERROR_HANDSHAKE_FAILURE_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_HANDSHAKE_NOT_COMPLETED"
>nss.error.SSL_ERROR_HANDSHAKE_NOT_COMPLETED</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT"
>nss.error.SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_ILLEGAL_PARAMETER_ALERT"
>nss.error.SSL_ERROR_ILLEGAL_PARAMETER_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INIT_CIPHER_SUITE_FAILURE"
>nss.error.SSL_ERROR_ILLEGAL_PARAMETER_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT"
>nss.error.SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM"
>nss.error.SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INIT_CIPHER_SUITE_FAILURE"
>nss.error.SSL_ERROR_INIT_CIPHER_SUITE_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INSUFFICIENT_SECURITY_ALERT"
>nss.error.SSL_ERROR_INSUFFICIENT_SECURITY_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INTERNAL_ERROR_ALERT"
>nss.error.SSL_ERROR_INTERNAL_ERROR_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INVALID_VERSION_RANGE"
@ -478,7 +492,9 @@
>nss.error.SSL_ERROR_IV_PARAM_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_MAC_COMPUTATION_FAILURE"
>nss.error.SSL_ERROR_MAC_COMPUTATION_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_MD5_DIGEST_FAILURE"
>nss.error.SSL_ERROR_MD5_DIGEST_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID"
>nss.error.SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CERTIFICATE"
>nss.error.SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK"
>nss.error.SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL"
>nss.error.SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CERTIFICATE"
>nss.error.SSL_ERROR_NO_CERTIFICATE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CIPHERS_SUPPORTED"
>nss.error.SSL_ERROR_NO_CIPHERS_SUPPORTED</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_COMPRESSION_OVERLAP"
>nss.error.SSL_ERROR_NO_COMPRESSION_OVERLAP</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CYPHER_OVERLAP"
@ -512,7 +528,8 @@
>nss.error.SSL_ERROR_RX_UNEXPECTED_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA"
>nss.error.SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERTIFICATE"
>nss.error.SSL_ERROR_RX_UNEXPECTED_CERTIFICATE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST"
>nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY"
>nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_STATUS"
>nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_STATUS</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY"
>nss.error.SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER"
>nss.error.SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO"
>nss.error.SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH"
@ -549,7 +566,8 @@
>nss.error.SSL_ERROR_UNSAFE_NEGOTIATION</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE"
>nss.error.SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_CERT_ALERT"
>nss.error.SSL_ERROR_UNSUPPORTED_CERT_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT"
>nss.error.SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_VERSION"
>nss.error.SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM"
>nss.error.SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_VERSION"
>nss.error.SSL_ERROR_UNSUPPORTED_VERSION</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNUSED_10"
>nss.error.SSL_ERROR_UNUSED_10</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNUSED_5"
>nss.error.SSL_ERROR_UNUSED_5</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_USER_CANCELED_ALERT"
@ -633,7 +651,16 @@
>nss.nss.AsObject</a><br /> <a target="mainFrame" href="nss.nss-module.html#AsString"
>nss.nss.AsString</a><br /> <a target="mainFrame" href="nss.nss-module.html#AsTypeEnum"
>nss.nss.AsTypeEnum</a><br /> <a target="mainFrame" href="nss.nss-module.html#AsTypeString"
>nss.nss.AsTypeString</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_AC_ISSUER"
>nss.nss.AsTypeString</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_GOVT_APPROVED_CA"
>nss.nss.CERTDB_GOVT_APPROVED_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_NS_TRUSTED_CA"
>nss.nss.CERTDB_NS_TRUSTED_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_SEND_WARN"
>nss.nss.CERTDB_SEND_WARN</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TERMINAL_RECORD"
>nss.nss.CERTDB_TERMINAL_RECORD</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TRUSTED"
>nss.nss.CERTDB_TRUSTED</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TRUSTED_CA"
>nss.nss.CERTDB_TRUSTED_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TRUSTED_CLIENT_CA"
>nss.nss.CERTDB_TRUSTED_CLIENT_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_USER"
>nss.nss.CERTDB_USER</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_VALID_CA"
>nss.nss.CERTDB_VALID_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_AC_ISSUER"
>nss.nss.CKA_AC_ISSUER</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_ALLOWED_MECHANISMS"
>nss.nss.CKA_ALLOWED_MECHANISMS</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_ALWAYS_AUTHENTICATE"
>nss.nss.CKA_ALWAYS_AUTHENTICATE</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_ALWAYS_SENSITIVE"
@ -1398,9 +1425,20 @@
>nss.nss.ssl_kea_ecdh</a><br /> <a target="mainFrame" href="nss.nss-module.html#ssl_kea_fortezza"
>nss.nss.ssl_kea_fortezza</a><br /> <a target="mainFrame" href="nss.nss-module.html#ssl_kea_null"
>nss.nss.ssl_kea_null</a><br /> <a target="mainFrame" href="nss.nss-module.html#ssl_kea_rsa"
>nss.nss.ssl_kea_rsa</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_ALLOWED"
>nss.nss.ssl_kea_rsa</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_AES128_CM_HMAC_SHA1_32"
>nss.ssl.SRTP_AES128_CM_HMAC_SHA1_32</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_AES128_CM_HMAC_SHA1_80"
>nss.ssl.SRTP_AES128_CM_HMAC_SHA1_80</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_NULL_HMAC_SHA1_32"
>nss.ssl.SRTP_NULL_HMAC_SHA1_32</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_NULL_HMAC_SHA1_80"
>nss.ssl.SRTP_NULL_HMAC_SHA1_80</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_ALLOWED"
>nss.ssl.SSL_ALLOWED</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_BYPASS_PKCS11"
>nss.ssl.SSL_BYPASS_PKCS11</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.SSL_BYPASS_PKCS11</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_DES_192_EDE3_CBC_WITH_MD5"
>nss.ssl.SSL_CK_DES_192_EDE3_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_DES_64_CBC_WITH_MD5"
>nss.ssl.SSL_CK_DES_64_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_IDEA_128_CBC_WITH_MD5"
>nss.ssl.SSL_CK_IDEA_128_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5"
>nss.ssl.SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC2_128_CBC_WITH_MD5"
>nss.ssl.SSL_CK_RC2_128_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC4_128_EXPORT40_WITH_MD5"
>nss.ssl.SSL_CK_RC4_128_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC4_128_WITH_MD5"
>nss.ssl.SSL_CK_RC4_128_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_WITH_DES_CBC_SHA"
>nss.ssl.SSL_DHE_DSS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"
@ -1428,9 +1466,18 @@
>nss.ssl.SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_EN_RC2_128_CBC_WITH_MD5"
>nss.ssl.SSL_EN_RC2_128_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_EN_RC4_128_EXPORT40_WITH_MD5"
>nss.ssl.SSL_EN_RC4_128_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_EN_RC4_128_WITH_MD5"
>nss.ssl.SSL_EN_RC4_128_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_HANDSHAKE_AS_CLIENT"
>nss.ssl.SSL_EN_RC4_128_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA"
>nss.ssl.SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_NULL_SHA"
>nss.ssl.SSL_FORTEZZA_DMS_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_RC4_128_SHA"
>nss.ssl.SSL_FORTEZZA_DMS_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_HANDSHAKE_AS_CLIENT"
>nss.ssl.SSL_HANDSHAKE_AS_CLIENT</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_HANDSHAKE_AS_SERVER"
>nss.ssl.SSL_HANDSHAKE_AS_SERVER</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NOT_ALLOWED"
>nss.ssl.SSL_HANDSHAKE_AS_SERVER</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_2"
>nss.ssl.SSL_LIBRARY_VERSION_2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_3_0"
>nss.ssl.SSL_LIBRARY_VERSION_3_0</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_0"
>nss.ssl.SSL_LIBRARY_VERSION_TLS_1_0</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_1"
>nss.ssl.SSL_LIBRARY_VERSION_TLS_1_1</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_2"
>nss.ssl.SSL_LIBRARY_VERSION_TLS_1_2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_3"
>nss.ssl.SSL_LIBRARY_VERSION_TLS_1_3</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NOT_ALLOWED"
>nss.ssl.SSL_NOT_ALLOWED</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NO_CACHE"
>nss.ssl.SSL_NO_CACHE</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NO_LOCKS"
>nss.ssl.SSL_NO_LOCKS</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NO_STEP_DOWN"
@ -1448,7 +1495,9 @@
>nss.ssl.SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_EXPORT_WITH_RC4_40_MD5"
>nss.ssl.SSL_RSA_EXPORT_WITH_RC4_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_FIPS_WITH_DES_CBC_SHA"
>nss.ssl.SSL_RSA_FIPS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.SSL_RSA_FIPS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA"
>nss.ssl.SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.SSL_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_DES_CBC_SHA"
>nss.ssl.SSL_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_IDEA_CBC_SHA"
>nss.ssl.SSL_RSA_WITH_IDEA_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_NULL_MD5"
@ -1462,37 +1511,80 @@
>nss.ssl.SSL_SECURITY_STATUS_ON_HIGH</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_SECURITY_STATUS_ON_LOW"
>nss.ssl.SSL_SECURITY_STATUS_ON_LOW</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_SOCKS"
>nss.ssl.SSL_SOCKS</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_V2_COMPATIBLE_HELLO"
>nss.ssl.SSL_V2_COMPATIBLE_HELLO</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"
>nss.ssl.SSL_V2_COMPATIBLE_HELLO</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_VARIANT_DATAGRAM"
>nss.ssl.SSL_VARIANT_DATAGRAM</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_VARIANT_STREAM"
>nss.ssl.SSL_VARIANT_STREAM</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA"
>nss.ssl.TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_RC4_128_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"
>nss.ssl.TLS_DHE_DSS_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_DES_CBC_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_RC4_128_SHA"
>nss.ssl.TLS_DHE_DSS_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"
>nss.ssl.TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
>nss.ssl.TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"
>nss.ssl.TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_DES_CBC_SHA"
>nss.ssl.TLS_DHE_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DH_ANON_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DH_ANON_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DH_ANON_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA"
>nss.ssl.TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA"
>nss.ssl.TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DH_DSS_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DH_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DH_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA"
>nss.ssl.TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA"
>nss.ssl.TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_DES_CBC_SHA"
>nss.ssl.TLS_DH_DSS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DH_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DH_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_DH_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA"
>nss.ssl.TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA"
>nss.ssl.TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_DES_CBC_SHA"
>nss.ssl.TLS_DH_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"
>nss.ssl.TLS_DH_anon_EXPORT_WITH_RC4_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_DH_anon_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_DH_anon_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_DH_anon_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"
>nss.ssl.TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"
>nss.ssl.TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_DES_CBC_SHA"
>nss.ssl.TLS_DH_anon_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_RC4_128_MD5"
>nss.ssl.TLS_DH_anon_WITH_RC4_128_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_NULL_SHA"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"
>nss.ssl.TLS_ECDHE_ECDSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
>nss.ssl.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
>nss.ssl.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_NULL_SHA"
>nss.ssl.TLS_ECDHE_RSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_RC4_128_SHA"
>nss.ssl.TLS_ECDHE_RSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"
>nss.ssl.TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_NULL_SHA"
>nss.ssl.TLS_ECDH_ECDSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_RC4_128_SHA"
>nss.ssl.TLS_ECDH_ECDSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"
>nss.ssl.TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDH_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_NULL_SHA"
>nss.ssl.TLS_ECDH_RSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_RC4_128_SHA"
>nss.ssl.TLS_ECDH_RSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"
@ -1500,16 +1592,42 @@
>nss.ssl.TLS_ECDH_anon_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_ECDH_anon_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_NULL_SHA"
>nss.ssl.TLS_ECDH_anon_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_RC4_128_SHA"
>nss.ssl.TLS_ECDH_anon_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA"
>nss.ssl.TLS_ECDH_anon_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
>nss.ssl.TLS_EMPTY_RENEGOTIATION_INFO_SCSV</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_FALLBACK_SCSV"
>nss.ssl.TLS_FALLBACK_SCSV</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_NULL_WITH_NULL_NULL"
>nss.ssl.TLS_NULL_WITH_NULL_NULL</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA"
>nss.ssl.TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_RC4_56_SHA"
>nss.ssl.TLS_RSA_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_AES_256_CBC_SHA</a><br /> <div class="private">
>nss.ssl.TLS_RSA_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"
>nss.ssl.TLS_RSA_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"
>nss.ssl.TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT_WITH_RC4_40_MD5"
>nss.ssl.TLS_RSA_EXPORT_WITH_RC4_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_3DES_EDE_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA256"
>nss.ssl.TLS_RSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_GCM_SHA256"
>nss.ssl.TLS_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA256"
>nss.ssl.TLS_RSA_WITH_AES_256_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_DES_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_IDEA_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_IDEA_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_NULL_MD5"
>nss.ssl.TLS_RSA_WITH_NULL_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_NULL_SHA"
>nss.ssl.TLS_RSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_NULL_SHA256"
>nss.ssl.TLS_RSA_WITH_NULL_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_RC4_128_MD5"
>nss.ssl.TLS_RSA_WITH_RC4_128_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_RC4_128_SHA"
>nss.ssl.TLS_RSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_SEED_CBC_SHA"
>nss.ssl.TLS_RSA_WITH_SEED_CBC_SHA</a><br /> <div class="private">
<a target="mainFrame" href="nss.ssl-module.html#_C_API"
>nss.ssl._C_API</a><br /> </div>
<a target="mainFrame" href="nss.ssl-module.html#__package__"
>nss.ssl.__package__</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_implemented_ciphers"
>nss.ssl.ssl_implemented_ciphers</a><br /><hr />
>nss.ssl.__package__</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl2"
>nss.ssl.ssl2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl3"
>nss.ssl.ssl3</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_implemented_ciphers"
>nss.ssl.ssl_implemented_ciphers</a><br /> <a target="mainFrame" href="nss.ssl-module.html#tls1.0"
>nss.ssl.tls1.0</a><br /> <a target="mainFrame" href="nss.ssl-module.html#tls1.1"
>nss.ssl.tls1.1</a><br /> <a target="mainFrame" href="nss.ssl-module.html#tls1.2"
>nss.ssl.tls1.2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#tls1.3"
>nss.ssl.tls1.3</a><br /><hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -285,7 +286,8 @@
>SSL_ERROR_DECOMPRESSION_FAILURE_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DECRYPTION_FAILED_ALERT"
>SSL_ERROR_DECRYPTION_FAILED_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DECRYPTION_FAILURE"
>SSL_ERROR_DECRYPTION_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DECRYPT_ERROR_ALERT"
>SSL_ERROR_DECRYPT_ERROR_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_ENCRYPTION_FAILURE"
>SSL_ERROR_DECRYPT_ERROR_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_DIGEST_FAILURE"
>SSL_ERROR_DIGEST_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_ENCRYPTION_FAILURE"
>SSL_ERROR_ENCRYPTION_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_EXPIRED_CERT_ALERT"
>SSL_ERROR_EXPIRED_CERT_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_EXPORT_ONLY_SERVER"
>SSL_ERROR_EXPORT_ONLY_SERVER</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_EXPORT_RESTRICTION_ALERT"
@ -300,7 +302,9 @@
>SSL_ERROR_HANDSHAKE_FAILURE_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_HANDSHAKE_NOT_COMPLETED"
>SSL_ERROR_HANDSHAKE_NOT_COMPLETED</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT"
>SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_ILLEGAL_PARAMETER_ALERT"
>SSL_ERROR_ILLEGAL_PARAMETER_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INIT_CIPHER_SUITE_FAILURE"
>SSL_ERROR_ILLEGAL_PARAMETER_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT"
>SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM"
>SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INIT_CIPHER_SUITE_FAILURE"
>SSL_ERROR_INIT_CIPHER_SUITE_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INSUFFICIENT_SECURITY_ALERT"
>SSL_ERROR_INSUFFICIENT_SECURITY_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INTERNAL_ERROR_ALERT"
>SSL_ERROR_INTERNAL_ERROR_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_INVALID_VERSION_RANGE"
@ -308,7 +312,9 @@
>SSL_ERROR_IV_PARAM_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_MAC_COMPUTATION_FAILURE"
>SSL_ERROR_MAC_COMPUTATION_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_MD5_DIGEST_FAILURE"
>SSL_ERROR_MD5_DIGEST_FAILURE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID"
>SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CERTIFICATE"
>SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK"
>SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL"
>SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CERTIFICATE"
>SSL_ERROR_NO_CERTIFICATE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CIPHERS_SUPPORTED"
>SSL_ERROR_NO_CIPHERS_SUPPORTED</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_COMPRESSION_OVERLAP"
>SSL_ERROR_NO_COMPRESSION_OVERLAP</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_NO_CYPHER_OVERLAP"
@ -342,7 +348,8 @@
>SSL_ERROR_RX_UNEXPECTED_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA"
>SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERTIFICATE"
>SSL_ERROR_RX_UNEXPECTED_CERTIFICATE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST"
>SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY"
>SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_STATUS"
>SSL_ERROR_RX_UNEXPECTED_CERT_STATUS</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY"
>SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER"
>SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO"
>SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH"
@ -379,7 +386,8 @@
>SSL_ERROR_UNSAFE_NEGOTIATION</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE"
>SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_CERT_ALERT"
>SSL_ERROR_UNSUPPORTED_CERT_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT"
>SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_VERSION"
>SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM"
>SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNSUPPORTED_VERSION"
>SSL_ERROR_UNSUPPORTED_VERSION</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNUSED_10"
>SSL_ERROR_UNUSED_10</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_UNUSED_5"
>SSL_ERROR_UNUSED_5</a><br /> <a target="mainFrame" href="nss.error-module.html#SSL_ERROR_USER_CANCELED_ALERT"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -20,7 +21,8 @@
>AuthorityInfoAccesses</a><br /> <a target="mainFrame" href="nss.nss.BasicConstraints-class.html"
>BasicConstraints</a><br /> <a target="mainFrame" href="nss.nss.CRLDistributionPoint-class.html"
>CRLDistributionPoint</a><br /> <a target="mainFrame" href="nss.nss.CRLDistributionPts-class.html"
>CRLDistributionPts</a><br /> <a target="mainFrame" href="nss.nss.CertDB-class.html"
>CRLDistributionPts</a><br /> <a target="mainFrame" href="nss.nss.CertAttribute-class.html"
>CertAttribute</a><br /> <a target="mainFrame" href="nss.nss.CertDB-class.html"
>CertDB</a><br /> <a target="mainFrame" href="nss.nss.CertVerifyLog-class.html"
>CertVerifyLog</a><br /> <a target="mainFrame" href="nss.nss.CertVerifyLogNode-class.html"
>CertVerifyLogNode</a><br /> <a target="mainFrame" href="nss.nss.Certificate-class.html"
@ -48,7 +50,8 @@
>SignedData</a><br /> <a target="mainFrame" href="nss.nss.SubjectPublicKeyInfo-class.html"
>SubjectPublicKeyInfo</a><br /> <h2 class="toc">Functions</h2>
<a target="mainFrame" href="nss.nss-module.html#algtag_to_mechanism"
>algtag_to_mechanism</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_crl_reason_from_name"
>algtag_to_mechanism</a><br /> <a target="mainFrame" href="nss.nss-module.html#base64_to_binary"
>base64_to_binary</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_crl_reason_from_name"
>cert_crl_reason_from_name</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_crl_reason_name"
>cert_crl_reason_name</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_general_name_type_from_name"
>cert_general_name_type_from_name</a><br /> <a target="mainFrame" href="nss.nss-module.html#cert_general_name_type_name"
@ -154,7 +157,16 @@
>AsObject</a><br /> <a target="mainFrame" href="nss.nss-module.html#AsString"
>AsString</a><br /> <a target="mainFrame" href="nss.nss-module.html#AsTypeEnum"
>AsTypeEnum</a><br /> <a target="mainFrame" href="nss.nss-module.html#AsTypeString"
>AsTypeString</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_AC_ISSUER"
>AsTypeString</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_GOVT_APPROVED_CA"
>CERTDB_GOVT_APPROVED_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_NS_TRUSTED_CA"
>CERTDB_NS_TRUSTED_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_SEND_WARN"
>CERTDB_SEND_WARN</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TERMINAL_RECORD"
>CERTDB_TERMINAL_RECORD</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TRUSTED"
>CERTDB_TRUSTED</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TRUSTED_CA"
>CERTDB_TRUSTED_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_TRUSTED_CLIENT_CA"
>CERTDB_TRUSTED_CLIENT_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_USER"
>CERTDB_USER</a><br /> <a target="mainFrame" href="nss.nss-module.html#CERTDB_VALID_CA"
>CERTDB_VALID_CA</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_AC_ISSUER"
>CKA_AC_ISSUER</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_ALLOWED_MECHANISMS"
>CKA_ALLOWED_MECHANISMS</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_ALWAYS_AUTHENTICATE"
>CKA_ALWAYS_AUTHENTICATE</a><br /> <a target="mainFrame" href="nss.nss-module.html#CKA_ALWAYS_SENSITIVE"

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
@ -12,31 +13,54 @@
<h1 class="toc">Module ssl</h1>
<hr />
<h2 class="toc">Classes</h2>
<a target="mainFrame" href="nss.ssl.SSLSocket-class.html"
<a target="mainFrame" href="nss.ssl.SSLChannelInfo-class.html"
>SSLChannelInfo</a><br /> <a target="mainFrame" href="nss.ssl.SSLCipherSuiteInfo-class.html"
>SSLCipherSuiteInfo</a><br /> <a target="mainFrame" href="nss.ssl.SSLSocket-class.html"
>SSLSocket</a><br /> <h2 class="toc">Functions</h2>
<a target="mainFrame" href="nss.ssl-module.html#clear_session_cache"
>clear_session_cache</a><br /> <a target="mainFrame" href="nss.ssl-module.html#config_mp_server_sid_cache"
>config_mp_server_sid_cache</a><br /> <a target="mainFrame" href="nss.ssl-module.html#config_server_session_id_cache"
>config_server_session_id_cache</a><br /> <a target="mainFrame" href="nss.ssl-module.html#config_server_session_id_cache_with_opt"
>config_server_session_id_cache_with_opt</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_cipher_policy"
>get_cipher_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_default_cipher_pref"
>get_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_max_server_cache_locks"
>get_cipher_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_cipher_suite_info"
>get_cipher_suite_info</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_default_cipher_pref"
>get_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_default_ssl_version_range"
>get_default_ssl_version_range</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_max_server_cache_locks"
>get_max_server_cache_locks</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_ssl_default_option"
>get_ssl_default_option</a><br /> <a target="mainFrame" href="nss.ssl-module.html#nss_init"
>nss_init</a><br /> <a target="mainFrame" href="nss.ssl-module.html#nss_shutdown"
>nss_shutdown</a><br /> <a target="mainFrame" href="nss.ssl-module.html#nssinit"
>nssinit</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_cipher_policy"
>get_ssl_default_option</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_ssl_version_from_major_minor"
>get_ssl_version_from_major_minor</a><br /> <a target="mainFrame" href="nss.ssl-module.html#get_supported_ssl_version_range"
>get_supported_ssl_version_range</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_cipher_policy"
>set_cipher_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_default_cipher_pref"
>set_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_domestic_policy"
>set_default_cipher_pref</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_default_ssl_version_range"
>set_default_ssl_version_range</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_domestic_policy"
>set_domestic_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_export_policy"
>set_export_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_france_policy"
>set_france_policy</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_max_server_cache_locks"
>set_max_server_cache_locks</a><br /> <a target="mainFrame" href="nss.ssl-module.html#set_ssl_default_option"
>set_ssl_default_option</a><br /> <a target="mainFrame" href="nss.ssl-module.html#shutdown_server_session_id_cache"
>shutdown_server_session_id_cache</a><br /> <h2 class="toc">Variables</h2>
<a target="mainFrame" href="nss.ssl-module.html#SSL_ALLOWED"
>shutdown_server_session_id_cache</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_cipher_suite_from_name"
>ssl_cipher_suite_from_name</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_cipher_suite_name"
>ssl_cipher_suite_name</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_library_version_from_name"
>ssl_library_version_from_name</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_library_version_name"
>ssl_library_version_name</a><br /> <h2 class="toc">Variables</h2>
<a target="mainFrame" href="nss.ssl-module.html#tls1.0"
>0</a><br /> <a target="mainFrame" href="nss.ssl-module.html#tls1.1"
>1</a><br /> <a target="mainFrame" href="nss.ssl-module.html#tls1.2"
>2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#tls1.3"
>3</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_AES128_CM_HMAC_SHA1_32"
>SRTP_AES128_CM_HMAC_SHA1_32</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_AES128_CM_HMAC_SHA1_80"
>SRTP_AES128_CM_HMAC_SHA1_80</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_NULL_HMAC_SHA1_32"
>SRTP_NULL_HMAC_SHA1_32</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SRTP_NULL_HMAC_SHA1_80"
>SRTP_NULL_HMAC_SHA1_80</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_ALLOWED"
>SSL_ALLOWED</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_BYPASS_PKCS11"
>SSL_BYPASS_PKCS11</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
>SSL_BYPASS_PKCS11</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_DES_192_EDE3_CBC_WITH_MD5"
>SSL_CK_DES_192_EDE3_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_DES_64_CBC_WITH_MD5"
>SSL_CK_DES_64_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_IDEA_128_CBC_WITH_MD5"
>SSL_CK_IDEA_128_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5"
>SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC2_128_CBC_WITH_MD5"
>SSL_CK_RC2_128_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC4_128_EXPORT40_WITH_MD5"
>SSL_CK_RC4_128_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_CK_RC4_128_WITH_MD5"
>SSL_CK_RC4_128_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
>SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_DSS_WITH_DES_CBC_SHA"
>SSL_DHE_DSS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"
@ -64,9 +88,18 @@
>SSL_EN_RC2_128_CBC_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_EN_RC2_128_CBC_WITH_MD5"
>SSL_EN_RC2_128_CBC_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_EN_RC4_128_EXPORT40_WITH_MD5"
>SSL_EN_RC4_128_EXPORT40_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_EN_RC4_128_WITH_MD5"
>SSL_EN_RC4_128_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_HANDSHAKE_AS_CLIENT"
>SSL_EN_RC4_128_WITH_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA"
>SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_NULL_SHA"
>SSL_FORTEZZA_DMS_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_FORTEZZA_DMS_WITH_RC4_128_SHA"
>SSL_FORTEZZA_DMS_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_HANDSHAKE_AS_CLIENT"
>SSL_HANDSHAKE_AS_CLIENT</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_HANDSHAKE_AS_SERVER"
>SSL_HANDSHAKE_AS_SERVER</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NOT_ALLOWED"
>SSL_HANDSHAKE_AS_SERVER</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_2"
>SSL_LIBRARY_VERSION_2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_3_0"
>SSL_LIBRARY_VERSION_3_0</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_0"
>SSL_LIBRARY_VERSION_TLS_1_0</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_1"
>SSL_LIBRARY_VERSION_TLS_1_1</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_2"
>SSL_LIBRARY_VERSION_TLS_1_2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_LIBRARY_VERSION_TLS_1_3"
>SSL_LIBRARY_VERSION_TLS_1_3</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NOT_ALLOWED"
>SSL_NOT_ALLOWED</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NO_CACHE"
>SSL_NO_CACHE</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NO_LOCKS"
>SSL_NO_LOCKS</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_NO_STEP_DOWN"
@ -84,7 +117,9 @@
>SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_EXPORT_WITH_RC4_40_MD5"
>SSL_RSA_EXPORT_WITH_RC4_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA"
>SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_FIPS_WITH_DES_CBC_SHA"
>SSL_RSA_FIPS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_3DES_EDE_CBC_SHA"
>SSL_RSA_FIPS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA"
>SSL_RSA_OLDFIPS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA"
>SSL_RSA_OLDFIPS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_3DES_EDE_CBC_SHA"
>SSL_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_DES_CBC_SHA"
>SSL_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_IDEA_CBC_SHA"
>SSL_RSA_WITH_IDEA_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_RSA_WITH_NULL_MD5"
@ -98,37 +133,80 @@
>SSL_SECURITY_STATUS_ON_HIGH</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_SECURITY_STATUS_ON_LOW"
>SSL_SECURITY_STATUS_ON_LOW</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_SOCKS"
>SSL_SOCKS</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_V2_COMPATIBLE_HELLO"
>SSL_V2_COMPATIBLE_HELLO</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"
>SSL_V2_COMPATIBLE_HELLO</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_VARIANT_DATAGRAM"
>SSL_VARIANT_DATAGRAM</a><br /> <a target="mainFrame" href="nss.ssl-module.html#SSL_VARIANT_STREAM"
>SSL_VARIANT_STREAM</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"
>TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA"
>TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_CBC_SHA"
>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
>TLS_DHE_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_RC4_128_SHA"
>TLS_DHE_DSS_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_AES_128_CBC_SHA"
>TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
>TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
>TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_CBC_SHA"
>TLS_DHE_DSS_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_128_GCM_SHA256"
>TLS_DHE_DSS_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
>TLS_DHE_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA"
>TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA"
>TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_DES_CBC_SHA"
>TLS_DHE_DSS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_DSS_WITH_RC4_128_SHA"
>TLS_DHE_DSS_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"
>TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA"
>TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA"
>TLS_DHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_CBC_SHA256"
>TLS_DHE_RSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_128_GCM_SHA256"
>TLS_DHE_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA"
>TLS_DHE_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_AES_256_CBC_SHA256"
>TLS_DHE_RSA_WITH_AES_256_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA"
>TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA"
>TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DHE_RSA_WITH_DES_CBC_SHA"
>TLS_DHE_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_AES_128_CBC_SHA"
>TLS_DH_ANON_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_AES_256_CBC_SHA"
>TLS_DH_ANON_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_AES_128_CBC_SHA"
>TLS_DH_ANON_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA"
>TLS_DH_ANON_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA"
>TLS_DH_ANON_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"
>TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA"
>TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_AES_128_CBC_SHA"
>TLS_DH_DSS_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_AES_256_CBC_SHA"
>TLS_DH_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_AES_128_CBC_SHA"
>TLS_DH_DSS_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA"
>TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA"
>TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_DSS_WITH_DES_CBC_SHA"
>TLS_DH_DSS_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"
>TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA"
>TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_AES_128_CBC_SHA"
>TLS_DH_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_AES_256_CBC_SHA"
>TLS_DH_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"
>TLS_DH_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA"
>TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA"
>TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_RSA_WITH_DES_CBC_SHA"
>TLS_DH_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA"
>TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_EXPORT_WITH_RC4_40_MD5"
>TLS_DH_anon_EXPORT_WITH_RC4_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_3DES_EDE_CBC_SHA"
>TLS_DH_anon_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_AES_128_CBC_SHA"
>TLS_DH_anon_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_AES_256_CBC_SHA"
>TLS_DH_anon_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA"
>TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA"
>TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_DES_CBC_SHA"
>TLS_DH_anon_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_DH_anon_WITH_RC4_128_MD5"
>TLS_DH_anon_WITH_RC4_128_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA"
>TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA"
>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256"
>TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
>TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA"
>TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_NULL_SHA"
>TLS_ECDHE_ECDSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_ECDSA_WITH_RC4_128_SHA"
>TLS_ECDHE_ECDSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA"
>TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA"
>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
>TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA"
>TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_NULL_SHA"
>TLS_ECDHE_RSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDHE_RSA_WITH_RC4_128_SHA"
>TLS_ECDHE_RSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA"
>TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA"
>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"
>TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256"
>TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA"
>TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_NULL_SHA"
>TLS_ECDH_ECDSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_ECDSA_WITH_RC4_128_SHA"
>TLS_ECDH_ECDSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA"
>TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_128_CBC_SHA"
>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"
>TLS_ECDH_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256"
>TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_AES_256_CBC_SHA"
>TLS_ECDH_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_NULL_SHA"
>TLS_ECDH_RSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_RSA_WITH_RC4_128_SHA"
>TLS_ECDH_RSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA"
@ -136,15 +214,37 @@
>TLS_ECDH_anon_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_AES_256_CBC_SHA"
>TLS_ECDH_anon_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_NULL_SHA"
>TLS_ECDH_anon_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_ECDH_anon_WITH_RC4_128_SHA"
>TLS_ECDH_anon_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA"
>TLS_ECDH_anon_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
>TLS_EMPTY_RENEGOTIATION_INFO_SCSV</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_FALLBACK_SCSV"
>TLS_FALLBACK_SCSV</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_NULL_WITH_NULL_NULL"
>TLS_NULL_WITH_NULL_NULL</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA"
>TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT1024_WITH_RC4_56_SHA"
>TLS_RSA_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA"
>TLS_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA"
>TLS_RSA_WITH_AES_256_CBC_SHA</a><br /> <div class="private">
>TLS_RSA_EXPORT1024_WITH_RC4_56_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT_WITH_DES40_CBC_SHA"
>TLS_RSA_EXPORT_WITH_DES40_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5"
>TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_EXPORT_WITH_RC4_40_MD5"
>TLS_RSA_EXPORT_WITH_RC4_40_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_3DES_EDE_CBC_SHA"
>TLS_RSA_WITH_3DES_EDE_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA"
>TLS_RSA_WITH_AES_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_CBC_SHA256"
>TLS_RSA_WITH_AES_128_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_128_GCM_SHA256"
>TLS_RSA_WITH_AES_128_GCM_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA"
>TLS_RSA_WITH_AES_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_AES_256_CBC_SHA256"
>TLS_RSA_WITH_AES_256_CBC_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_CAMELLIA_128_CBC_SHA"
>TLS_RSA_WITH_CAMELLIA_128_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_CAMELLIA_256_CBC_SHA"
>TLS_RSA_WITH_CAMELLIA_256_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_DES_CBC_SHA"
>TLS_RSA_WITH_DES_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_IDEA_CBC_SHA"
>TLS_RSA_WITH_IDEA_CBC_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_NULL_MD5"
>TLS_RSA_WITH_NULL_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_NULL_SHA"
>TLS_RSA_WITH_NULL_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_NULL_SHA256"
>TLS_RSA_WITH_NULL_SHA256</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_RC4_128_MD5"
>TLS_RSA_WITH_RC4_128_MD5</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_RC4_128_SHA"
>TLS_RSA_WITH_RC4_128_SHA</a><br /> <a target="mainFrame" href="nss.ssl-module.html#TLS_RSA_WITH_SEED_CBC_SHA"
>TLS_RSA_WITH_SEED_CBC_SHA</a><br /> <div class="private">
<a target="mainFrame" href="nss.ssl-module.html#_C_API"
>_C_API</a><br /> </div>
<a target="mainFrame" href="nss.ssl-module.html#__package__"
>__package__</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_implemented_ciphers"
>__package__</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl2"
>ssl2</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl3"
>ssl3</a><br /> <a target="mainFrame" href="nss.ssl-module.html#ssl_implemented_ciphers"
>ssl_implemented_ciphers</a><br /><hr />
<span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span>

Просмотреть файл

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">