Package io.vertx.core.net
Class PemKeyCertOptions
- java.lang.Object
 - 
- io.vertx.core.net.PemKeyCertOptions
 
 
- 
- All Implemented Interfaces:
 KeyCertOptions
public class PemKeyCertOptions extends Object implements KeyCertOptions
Key store options configuring a list of private key and its certificate based on Privacy-enhanced Electronic Email (PEM) files.A key file must contain a non encrypted private key in PKCS8 format wrapped in a PEM block, for example:
-----BEGIN PRIVATE KEY----- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDV6zPk5WqLwS0a ... K5xBhtm1AhdnZjx5KfW3BecE -----END PRIVATE KEY-----
Or contain a non encrypted private key in PKCS1 format wrapped in a PEM block, for example:
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAlO4gbHeFb/fmbUF/tOJfNPJumJUEqgzAzx8MBXv9Acyw9IRa ... zJ14Yd+t2fsLYVs2H0gxaA4DW6neCzgY3eKpSU0EBHUCFSXp/1+/ -----END RSA PRIVATE KEY-----
A certificate file must contain an X.509 certificate wrapped in a PEM block, for example:
-----BEGIN CERTIFICATE----- MIIDezCCAmOgAwIBAgIEZOI/3TANBgkqhkiG9w0BAQsFADBuMRAwDgYDVQQGEwdV ... +tmLSvYS39O2nqIzzAUfztkYnUlZmB0l/mKkVqbGJA== -----END CERTIFICATE-----
Keys and certificates can either be loaded by Vert.x from the filesystem:HttpServerOptions options = new HttpServerOptions(); options.setPemKeyCertOptions(new PemKeyCertOptions().setKeyPath("/mykey.pem").setCertPath("/mycert.pem"));Or directly provided as a buffer:Buffer key = vertx.fileSystem().readFileBlocking("/mykey.pem"); Buffer cert = vertx.fileSystem().readFileBlocking("/mycert.pem"); options.setPemKeyCertOptions(new PemKeyCertOptions().setKeyValue(key).setCertValue(cert));Several key/certificate pairs can be used:HttpServerOptions options = new HttpServerOptions(); options.setPemKeyCertOptions(new PemKeyCertOptions() .addKeyPath("/mykey1.pem").addCertPath("/mycert1.pem") .addKeyPath("/mykey2.pem").addCertPath("/mycert2.pem"));- Author:
 - Julien Viet, Tim Fox
 
 
- 
- 
Constructor Summary
Constructors Constructor Description PemKeyCertOptions()Default constructorPemKeyCertOptions(JsonObject json)Create options from JSONPemKeyCertOptions(PemKeyCertOptions other)Copy constructor 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PemKeyCertOptionsaddCertPath(String certPath)Add a path to a certificate filePemKeyCertOptionsaddCertValue(Buffer certValue)Add a certificate as a bufferPemKeyCertOptionsaddKeyPath(String keyPath)Add a path to a key filePemKeyCertOptionsaddKeyValue(Buffer keyValue)Add a key as a bufferPemKeyCertOptionscopy()booleanequals(Object obj)StringgetCertPath()Get the path to the first certificate fileList<String>getCertPaths()Get all the paths to the certificates filesBuffergetCertValue()Get the first certificate as a bufferList<Buffer>getCertValues()Get all the certificates as a list of bufferio.vertx.core.net.impl.KeyStoreHelpergetHelper(Vertx vertx)KeyManagerFactorygetKeyManagerFactory(Vertx vertx)Create and return the key manager factory for these options.StringgetKeyPath()Get the path to the first key fileList<String>getKeyPaths()Get all the paths to the key filesBuffergetKeyValue()Get the first key as a bufferList<Buffer>getKeyValues()Get all the keys as a list of bufferinthashCode()Function<String,KeyManagerFactory>keyManagerFactoryMapper(Vertx vertx)Returns a function that maps SNI server names toKeyManagerFactoryinstance.KeyStoreloadKeyStore(Vertx vertx)Load and return a Java keystore.PemKeyCertOptionssetCertPath(String certPath)Set the path of the first certificate, replacing the previous certificates pathsPemKeyCertOptionssetCertPaths(List<String> certPaths)Set all the paths to the certificates filesPemKeyCertOptionssetCertValue(Buffer certValue)Set the first certificate as a buffer, replacing the previous certificates buffersPemKeyCertOptionssetCertValues(List<Buffer> certValues)Set all the certificates as a list of bufferPemKeyCertOptionssetKeyPath(String keyPath)Set the path of the first key file, replacing the keys pathsPemKeyCertOptionssetKeyPaths(List<String> keyPaths)Set all the paths to the keys filesPemKeyCertOptionssetKeyValue(Buffer keyValue)Set the first key a a buffer, replacing the previous keys buffersPemKeyCertOptionssetKeyValues(List<Buffer> keyValues)Set all the keys as a list of bufferJsonObjecttoJson()Convert to JSON 
 - 
 
- 
- 
Constructor Detail
- 
PemKeyCertOptions
public PemKeyCertOptions()
Default constructor 
- 
PemKeyCertOptions
public PemKeyCertOptions(PemKeyCertOptions other)
Copy constructor- Parameters:
 other- the options to copy
 
- 
PemKeyCertOptions
public PemKeyCertOptions(JsonObject json)
Create options from JSON- Parameters:
 json- the JSON
 
 - 
 
- 
Method Detail
- 
toJson
public JsonObject toJson()
Convert to JSON- Returns:
 - the JSON
 
 
- 
getKeyPath
public String getKeyPath()
Get the path to the first key file- Returns:
 - the path to the key file
 
 
- 
setKeyPath
public PemKeyCertOptions setKeyPath(String keyPath)
Set the path of the first key file, replacing the keys paths- Parameters:
 keyPath- the path to the first key file- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
getKeyPaths
public List<String> getKeyPaths()
Get all the paths to the key files- Returns:
 - the paths to the keys files
 
 
- 
setKeyPaths
public PemKeyCertOptions setKeyPaths(List<String> keyPaths)
Set all the paths to the keys files- Parameters:
 keyPaths- the paths to the keys files- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
addKeyPath
public PemKeyCertOptions addKeyPath(String keyPath)
Add a path to a key file- Parameters:
 keyPath- the path to the key file- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
getKeyValue
public Buffer getKeyValue()
Get the first key as a buffer- Returns:
 - the first key as a buffer
 
 
- 
setKeyValue
public PemKeyCertOptions setKeyValue(Buffer keyValue)
Set the first key a a buffer, replacing the previous keys buffers- Parameters:
 keyValue- key as a buffer- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
getKeyValues
public List<Buffer> getKeyValues()
Get all the keys as a list of buffer- Returns:
 - keys as a list of buffers
 
 
- 
setKeyValues
public PemKeyCertOptions setKeyValues(List<Buffer> keyValues)
Set all the keys as a list of buffer- Parameters:
 keyValues- the keys as a list of buffer- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
addKeyValue
public PemKeyCertOptions addKeyValue(Buffer keyValue)
Add a key as a buffer- Parameters:
 keyValue- the key to add- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
getCertPath
public String getCertPath()
Get the path to the first certificate file- Returns:
 - the path to the certificate file
 
 
- 
setCertPath
public PemKeyCertOptions setCertPath(String certPath)
Set the path of the first certificate, replacing the previous certificates paths- Parameters:
 certPath- the path to the certificate- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
getCertPaths
public List<String> getCertPaths()
Get all the paths to the certificates files- Returns:
 - the paths to the certificates files
 
 
- 
setCertPaths
public PemKeyCertOptions setCertPaths(List<String> certPaths)
Set all the paths to the certificates files- Parameters:
 certPaths- the paths to the certificates files- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
addCertPath
public PemKeyCertOptions addCertPath(String certPath)
Add a path to a certificate file- Parameters:
 certPath- the path to the certificate file- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
getCertValue
public Buffer getCertValue()
Get the first certificate as a buffer- Returns:
 - the first certificate as a buffer
 
 
- 
setCertValue
public PemKeyCertOptions setCertValue(Buffer certValue)
Set the first certificate as a buffer, replacing the previous certificates buffers- Parameters:
 certValue- the first certificate as a buffer- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
getCertValues
public List<Buffer> getCertValues()
Get all the certificates as a list of buffer- Returns:
 - certificates as a list of buffers
 
 
- 
setCertValues
public PemKeyCertOptions setCertValues(List<Buffer> certValues)
Set all the certificates as a list of buffer- Parameters:
 certValues- the certificates as a list of buffer- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
addCertValue
public PemKeyCertOptions addCertValue(Buffer certValue)
Add a certificate as a buffer- Parameters:
 certValue- the certificate to add- Returns:
 - a reference to this, so the API can be used fluently
 
 
- 
copy
public PemKeyCertOptions copy()
- Specified by:
 copyin interfaceKeyCertOptions- Returns:
 - a copy of these options
 
 
- 
getHelper
public io.vertx.core.net.impl.KeyStoreHelper getHelper(Vertx vertx) throws Exception
- Throws:
 Exception
 
- 
loadKeyStore
public KeyStore loadKeyStore(Vertx vertx) throws Exception
Load and return a Java keystore.- Parameters:
 vertx- the vertx instance- Returns:
 - the 
KeyStore - Throws:
 Exception
 
- 
getKeyManagerFactory
public KeyManagerFactory getKeyManagerFactory(Vertx vertx) throws Exception
Description copied from interface:KeyCertOptionsCreate and return the key manager factory for these options.The returned key manager factory should be already initialized and ready to use.
- Specified by:
 getKeyManagerFactoryin interfaceKeyCertOptions- Parameters:
 vertx- the vertx instance- Returns:
 - the key manager factory
 - Throws:
 Exception
 
- 
keyManagerFactoryMapper
public Function<String,KeyManagerFactory> keyManagerFactoryMapper(Vertx vertx) throws Exception
Description copied from interface:KeyCertOptionsReturns a function that maps SNI server names toKeyManagerFactoryinstance. The returnedKeyManagerFactorymust satisfies these rules:- The store private key must match the indicated server name for a null alias.
 - The store certificate chain must match the indicated server name for a null alias.
 
The returned function may return
nullin which case the default key manager provided byKeyCertOptions.getKeyManagerFactory(Vertx)will be used.- Specified by:
 keyManagerFactoryMapperin interfaceKeyCertOptions- Throws:
 Exception
 
 - 
 
 -