User's Guide
Reference Manual
Release Notes
PDF
Top

Secure Socket Layer
Reference Manual
Version 7.2

Expand All
Contract All

Table of Contents

- ssl (App)
- ssl
  - Top of manual page
  - cipher_suites/0
  - cipher_suites/1
  - clear_pem_cache/0
  - connect/2
  - connect/3
  - connect/3
  - connect/4
  - close/1
  - close/2
  - connection_info/1
  - controlling_process/2
  - connection_information/1
  - connection_information/2
  - format_error/1
  - getopts/2
  - listen/2
  - negotiated_protocol/1
  - peercert/1
  - peername/1
  - prf/5
  - recv/2
  - recv/3
  - renegotiate/1
  - send/2
  - setopts/2
  - shutdown/2
  - ssl_accept/1
  - ssl_accept/2
  - ssl_accept/2
  - ssl_accept/3
  - sockname/1
  - start/0
  - start/1
  - stop/0
  - transport_accept/1
  - transport_accept/2
  - versions/0
- ssl_crl_cache
  - Top of manual page
  - delete/1
  - insert/1
  - insert/2
- ssl_crl_cache_api
  - Top of manual page
  - fresh_crl/2
  - lookup/2
  - select/2
- ssl_session_cache_api
  - Top of manual page
  - delete/2
  - foldl/3
  - init/1
  - lookup/2
  - select_session/2
  - terminate/1
  - update/3

# ssl_crl_cache_api

### MODULE

ssl_crl_cache_api

### MODULE SUMMARY

API for a SSL/TLS CRL (Certificate Revocation List) cache.

### DESCRIPTION

When SSL/TLS performs certificate path validation according to RFC 5280 it should also perform CRL validation checks. To enable the CRL checks the application needs access to CRLs. A database of CRLs can be set up in many different ways. This module provides the behavior of the API needed to integrate an arbitrary CRL cache with the erlang ssl application. It is also used by the application itself to provide a simple default implementation of a CRL cache.

### DATA TYPES

The following data types are used in the functions below:

cache_ref() =
  opaque()
dist_point() =

  #'DistributionPoint'{} see X509 certificates records

### EXPORTS

fresh_crl(DistributionPoint, CRL) -> FreshCRL

Types:

DistributionPoint = dist_point()
CRL = [public_key:der_encoded()]
FreshCRL = [public_key:der_encoded()]

fun fresh_crl/2 will be used as input option update_crl to public_key:pkix_crls_validate/3

lookup(DistributionPoint, DbHandle) -> not_available | CRLs

Types:

DistributionPoint = dist_point()
DbHandle = cache_ref()
CRLs = [public_key:der_encoded()]

Lookup the CRLs belonging to the distribution point Distributionpoint. This function may choose to only look in the cache or to follow distribution point links depending on how the cache is administrated.

select(Issuer, DbHandle) -> CRLs

Types:

Issuer = public_key:issuer_name()
DbHandle = cache_ref()

Select the CRLs in the cache that are issued by Issuer