BoringSSLKeylessManagerFactory Class — netty Architecture
Architecture documentation for the BoringSSLKeylessManagerFactory class in BoringSSLKeylessManagerFactory.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 691ac8cf_0ed4_aa6b_d200_9ba93f755ee7["BoringSSLKeylessManagerFactory"] f8d92914_3ed9_863c_bff2_0435445fa27d["BoringSSLKeylessManagerFactory.java"] 691ac8cf_0ed4_aa6b_d200_9ba93f755ee7 -->|defined in| f8d92914_3ed9_863c_bff2_0435445fa27d 4816b12a_c2cf_9a52_01f1_cbe35cb0386f["BoringSSLKeylessManagerFactory()"] 691ac8cf_0ed4_aa6b_d200_9ba93f755ee7 -->|method| 4816b12a_c2cf_9a52_01f1_cbe35cb0386f
Relationship Graph
Source Code
codec-classes-quic/src/main/java/io/netty/handler/codec/quic/BoringSSLKeylessManagerFactory.java lines 48–253
public final class BoringSSLKeylessManagerFactory extends KeyManagerFactory {
final BoringSSLAsyncPrivateKeyMethod privateKeyMethod;
private BoringSSLKeylessManagerFactory(KeyManagerFactory keyManagerFactory,
BoringSSLAsyncPrivateKeyMethod privateKeyMethod) {
super(new KeylessManagerFactorySpi(keyManagerFactory),
keyManagerFactory.getProvider(), keyManagerFactory.getAlgorithm());
this.privateKeyMethod = requireNonNull(privateKeyMethod, "privateKeyMethod");
}
/**
* Creates a new factory instance.
*
* @param privateKeyMethod the {@link BoringSSLAsyncPrivateKeyMethod} that is used for key signing.
* @param chain the {@link File} that contains the {@link X509Certificate} chain.
* @return a new factory instance.
* @throws CertificateException on error.
* @throws IOException on error.
* @throws KeyStoreException on error.
* @throws NoSuchAlgorithmException on error.
* @throws UnrecoverableKeyException on error.
*/
public static BoringSSLKeylessManagerFactory newKeyless(BoringSSLAsyncPrivateKeyMethod privateKeyMethod, File chain)
throws CertificateException, IOException,
KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException {
try (InputStream chainInputStream = Files.newInputStream(chain.toPath())) {
return newKeyless(privateKeyMethod, chainInputStream);
}
}
/**
* Creates a new factory instance.
*
* @param privateKeyMethod the {@link BoringSSLAsyncPrivateKeyMethod} that is used for key signing.
* @param chain the {@link InputStream} that contains the {@link X509Certificate} chain.
* @return a new factory instance.
* @throws CertificateException on error.
* @throws IOException on error.
* @throws KeyStoreException on error.
* @throws NoSuchAlgorithmException on error.
* @throws UnrecoverableKeyException on error.
*/
public static BoringSSLKeylessManagerFactory newKeyless(BoringSSLAsyncPrivateKeyMethod privateKeyMethod,
InputStream chain)
throws CertificateException, IOException,
KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException {
return newKeyless(privateKeyMethod, QuicSslContext.toX509Certificates0(chain));
}
/**
* Creates a new factory instance.
*
* @param privateKeyMethod the {@link BoringSSLAsyncPrivateKeyMethod} that is used for key signing.
* @param certificateChain the {@link X509Certificate} chain.
* @return a new factory instance.
* @throws CertificateException on error.
* @throws IOException on error.
* @throws KeyStoreException on error.
* @throws NoSuchAlgorithmException on error.
* @throws UnrecoverableKeyException on error.
*/
public static BoringSSLKeylessManagerFactory newKeyless(BoringSSLAsyncPrivateKeyMethod privateKeyMethod,
X509Certificate... certificateChain)
throws CertificateException, IOException,
KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException {
checkNotNull(certificateChain, "certificateChain");
KeyStore store = new KeylessKeyStore(certificateChain.clone());
store.load(null, null);
BoringSSLKeylessManagerFactory factory = new BoringSSLKeylessManagerFactory(
KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm()), privateKeyMethod);
factory.init(store, null);
return factory;
}
private static final class KeylessManagerFactorySpi extends KeyManagerFactorySpi {
private final KeyManagerFactory keyManagerFactory;
KeylessManagerFactorySpi(KeyManagerFactory keyManagerFactory) {
this.keyManagerFactory = requireNonNull(keyManagerFactory, "keyManagerFactory");
Defined In
Source
Frequently Asked Questions
What is the BoringSSLKeylessManagerFactory class?
BoringSSLKeylessManagerFactory is a class in the netty codebase, defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/BoringSSLKeylessManagerFactory.java.
Where is BoringSSLKeylessManagerFactory defined?
BoringSSLKeylessManagerFactory is defined in codec-classes-quic/src/main/java/io/netty/handler/codec/quic/BoringSSLKeylessManagerFactory.java at line 48.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free