MockAlternativeKeyProvider Class — netty Architecture
Architecture documentation for the MockAlternativeKeyProvider class in MockAlternativeKeyProvider.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD df9d886f_62be_e802_e13f_51009bb41ae1["MockAlternativeKeyProvider"] f82e16e4_9173_4f05_5dfa_12b954c83e72["MockAlternativeKeyProvider.java"] df9d886f_62be_e802_e13f_51009bb41ae1 -->|defined in| f82e16e4_9173_4f05_5dfa_12b954c83e72 cc163a05_0f70_b9dc_f744_a6ce7bf390ce["MockAlternativeKeyProvider()"] df9d886f_62be_e802_e13f_51009bb41ae1 -->|method| cc163a05_0f70_b9dc_f744_a6ce7bf390ce 10919165_6942_5ad3_5ed3_638b849b2649["PrivateKey()"] df9d886f_62be_e802_e13f_51009bb41ae1 -->|method| 10919165_6942_5ad3_5ed3_638b849b2649 fc9e8ba2_8e5d_9b6d_5414_c930865c2342["resetSignatureOperationCount()"] df9d886f_62be_e802_e13f_51009bb41ae1 -->|method| fc9e8ba2_8e5d_9b6d_5414_c930865c2342 59961cb2_09d8_8fd8_010e_b45046da231a["getSignatureOperationCount()"] df9d886f_62be_e802_e13f_51009bb41ae1 -->|method| 59961cb2_09d8_8fd8_010e_b45046da231a
Relationship Graph
Source Code
handler/src/test/java/io/netty/handler/ssl/MockAlternativeKeyProvider.java lines 37–269
public final class MockAlternativeKeyProvider extends Provider {
private static final String PROVIDER_NAME = "MockAlternativeKeyProvider";
private static final double PROVIDER_VERSION = 1.0;
private static final String PROVIDER_INFO = "Mock provider simulating alternative key providers";
// Track signature operations for test verification
private static final AtomicInteger signatureOperations = new AtomicInteger(0);
MockAlternativeKeyProvider() {
super(PROVIDER_NAME, PROVIDER_VERSION, PROVIDER_INFO);
// Register RSA signature algorithms
put("Signature.RSASSA-PSS", MockRsaPssSignature.class.getName());
put("Signature.SHA1withRSA", MockSha1WithRsaSignature.class.getName());
put("Signature.SHA256withRSA", MockSha256WithRsaSignature.class.getName());
put("Signature.SHA384withRSA", MockSha384WithRsaSignature.class.getName());
put("Signature.SHA512withRSA", MockSha512WithRsaSignature.class.getName());
put("Signature.MD5withRSA", MockMd5WithRsaSignature.class.getName());
// Register ECDSA signature algorithms
put("Signature.SHA1withECDSA", MockSha1WithEcdsaSignature.class.getName());
put("Signature.SHA256withECDSA", MockSha256WithEcdsaSignature.class.getName());
put("Signature.SHA384withECDSA", MockSha384WithEcdsaSignature.class.getName());
put("Signature.SHA512withECDSA", MockSha512WithEcdsaSignature.class.getName());
}
static PrivateKey wrapPrivateKey(PrivateKey realKey) {
return new AlternativePrivateKeyWrapper(realKey);
}
/**
* Reset the signature operation counter for test isolation.
*/
static void resetSignatureOperationCount() {
signatureOperations.set(0);
}
/**
* Get the number of signature operations performed by this provider.
*/
static int getSignatureOperationCount() {
return signatureOperations.get();
}
private static final class AlternativePrivateKeyWrapper implements PrivateKey {
private final PrivateKey delegate;
AlternativePrivateKeyWrapper(PrivateKey delegate) {
this.delegate = delegate;
}
@Override
public String getAlgorithm() {
return delegate.getAlgorithm();
}
@Override
public String getFormat() {
// Alternative key providers typically don't support standard formats
return null;
}
@Override
public byte[] getEncoded() {
// This is the key behavior: alternative key providers return null
// because the private key material is not directly accessible
return null;
}
// Provide access to the real key for signature operations
PrivateKey getDelegate() {
return delegate;
}
}
// Abstract base class for all mock signatures
public abstract static class MockSignature extends SignatureSpi {
protected final String algorithm;
protected final String providerName;
protected final Signature realSignature;
Source
Frequently Asked Questions
What is the MockAlternativeKeyProvider class?
MockAlternativeKeyProvider is a class in the netty codebase, defined in handler/src/test/java/io/netty/handler/ssl/MockAlternativeKeyProvider.java.
Where is MockAlternativeKeyProvider defined?
MockAlternativeKeyProvider is defined in handler/src/test/java/io/netty/handler/ssl/MockAlternativeKeyProvider.java at line 37.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free