KeyUsage Type — netty Architecture
Architecture documentation for the KeyUsage type/interface in CertificateBuilder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD de73ab47_f3e6_45b2_f9ac_78f41532baee["KeyUsage"] 5f01b946_c84e_64ab_9bff_c20e1d44105f["CertificateBuilder.java"] de73ab47_f3e6_45b2_f9ac_78f41532baee -->|defined in| 5f01b946_c84e_64ab_9bff_c20e1d44105f style de73ab47_f3e6_45b2_f9ac_78f41532baee fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
pkitesting/src/main/java/io/netty/pkitesting/CertificateBuilder.java lines 1214–1271
public enum KeyUsage {
/**
* For verifying digital signatures, for entity authentication,
* for entity authentication, or for integrity verification.
*/
digitalSignature(0),
/**
* This key usage is deprecated by X.509, and commitment may instead be derived from the actual use of the keys.
* <p>
* For verifying digital signatures that imply the signer has "committed" to the
* content being signed. This does not imply any specific policy or review on part of the signer, however.
*/
contentCommitment(1),
/**
* For enciphering keys or other security information.
*/
keyEncipherment(2),
/**
* For enciphering user data, but not keys or security information.
*/
dataEncipherment(3),
/**
* For use in public key agreement.
*/
keyAgreement(4),
/**
* For verifying the Certificate Authority's signature on a public-key certificate.
* <p>
* This implies {@link #digitalSignature} and {@link #contentCommitment}, so they do not need to be specified
* separately.
*/
keyCertSign(5),
/**
* For verifying the Certificate Authority's signature on a Certificate Revocation List.
* <p>
* This implies {@link #digitalSignature} and {@link #contentCommitment}, so they do not need to be specified
* separately.
*/
cRLSign(6),
/**
* For use with {@link #keyAgreement} to limit the key to enciphering only.
* <p>
* The meaning of this without the {@link #keyAgreement} bit set is unspecified.
*/
encipherOnly(7),
/**
* For use with {@link #keyAgreement} to limit the key to deciphering only.
* <p>
* The meaning of this without the {@link #keyAgreement} bit set is unspecified.
*/
decipherOnly(8);
private final int bitId;
KeyUsage(int bitId) {
this.bitId = bitId;
}
}
Source
Frequently Asked Questions
What is the KeyUsage type?
KeyUsage is a type/interface in the netty codebase, defined in pkitesting/src/main/java/io/netty/pkitesting/CertificateBuilder.java.
Where is KeyUsage defined?
KeyUsage is defined in pkitesting/src/main/java/io/netty/pkitesting/CertificateBuilder.java at line 1214.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free