1.5. 从扩展注册证书
本节仅适用于扩展开发人员。扩展可以在 TLS registry 中注册证书。当扩展需要向应用程序提供证书或提供不同的格式时,这非常有用。
要使用扩展在 TLS 注册表中注册证书,处理器 扩展必须生成一个由名称和 CertificateSupplier 组成的 TlsCertificateBuildItem。
TlsCertificateBuildItem item = new TlsCertificateBuildItem("named",
new MyCertificateSupplier());
证书供应商是一个通常使用记录器方法检索的运行时对象。
证书供应商示例:
public class MyCertificateSupplier implements Supplier<TlsConfiguration> {
@Override
public TlsConfiguration get() {
try {
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(getClass().getResourceAsStream("target/certs/test-registration-keystore.p12"),
"password".toCharArray());
KeyStore ts = KeyStore.getInstance("PKCS12");
ts.load(getClass().getResourceAsStream("target/certs/test-registration-truststore.p12"),
"password".toCharArray());
return new BaseTlsConfiguration() {
@Override
public KeyStore getKeyStore() {
return ks;
}
@Override
public KeyStore getTrustStore() {
return ts;
}
};
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}