/*
* Copyright (c) 2017 Red Hat, Inc. and/or its affiliates.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0, or the Apache License, Version 2.0
* which is available at https://www.apache.org/licenses/LICENSE-2.0.
*
* SPDX-License-Identifier: EPL-2.0 OR Apache-2.0
*/
package io.vertx.core.net.impl;
import io.vertx.core.VertxException;
import io.vertx.core.net.*;
import java.security.cert.CertificateException;
Author: Julien Ponge
/**
* @author <a href="https://julien.ponge.org/">Julien Ponge</a>
*/
public class SelfSignedCertificateImpl implements SelfSignedCertificate {
private final io.netty.handler.ssl.util.SelfSignedCertificate certificate;
public SelfSignedCertificateImpl() {
try {
certificate = new io.netty.handler.ssl.util.SelfSignedCertificate();
} catch (CertificateException e) {
throw new VertxException(e);
}
}
public SelfSignedCertificateImpl(String fqdn) {
try {
certificate = new io.netty.handler.ssl.util.SelfSignedCertificate(fqdn);
} catch (CertificateException e) {
throw new VertxException(e);
}
}
@Override
public PemKeyCertOptions keyCertOptions() {
return new PemKeyCertOptions()
.setKeyPath(privateKeyPath())
.setCertPath(certificatePath());
}
@Override
public PemTrustOptions trustOptions() {
return new PemTrustOptions().addCertPath(certificatePath());
}
@Override
public String privateKeyPath() {
return certificate.privateKey().getAbsolutePath();
}
@Override
public String certificatePath() {
return certificate.certificate().getAbsolutePath();
}
@Override
public void delete() {
certificate.delete();
}
}