org.bouncycastle.asn1.x509

## Class KeyUsage

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Encodable
  - - org.bouncycastle.asn1.DERObject
    - - org.bouncycastle.asn1.ASN1Object
      - - org.bouncycastle.asn1.DERBitString
        - - org.bouncycastle.asn1.x509.KeyUsage

All Implemented Interfaces:
  DEREncodable, DERString, DERTags

    public class KeyUsage
    extends DERBitString

The KeyUsage object.

        id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }

        KeyUsage ::= BIT STRING {
             digitalSignature        (0),
             nonRepudiation          (1),
             keyEncipherment         (2),
             dataEncipherment        (3),
             keyAgreement            (4),
             keyCertSign             (5),
             cRLSign                 (6),
             encipherOnly            (7),
             decipherOnly            (8) }

### Field Summary

Fields
`static int` `cRLSign`
`static int` `dataEncipherment`
`static int` `decipherOnly`
`static int` `digitalSignature`
`static int` `encipherOnly`
`static int` `keyAgreement`
`static int` `keyCertSign`
`static int` `keyEncipherment`
`static int` `nonRepudiation`

### Fields inherited from class org.bouncycastle.asn1.DERBitString

`data, padBits`

### Fields inherited from class org.bouncycastle.asn1.ASN1Encodable

`BER, DER`

### Fields inherited from interface org.bouncycastle.asn1.DERTags

`APPLICATION, BIT_STRING, BMP_STRING, BOOLEAN, CONSTRUCTED, ENUMERATED, EXTERNAL, GENERAL_STRING, GENERALIZED_TIME, GRAPHIC_STRING, IA5_STRING, INTEGER, NULL, NUMERIC_STRING, OBJECT_IDENTIFIER, OCTET_STRING, PRINTABLE_STRING, SEQUENCE, SEQUENCE_OF, SET, SET_OF, T61_STRING, TAGGED, UNIVERSAL_STRING, UTC_TIME, UTF8_STRING, VIDEOTEX_STRING, VISIBLE_STRING`

### Constructor Summary

Constructors
Constructor and Description
`KeyUsage(DERBitString usage)`
`KeyUsage(int usage)` Basic constructor.

### Method Summary

Methods
`static DERBitString` `getInstance(java.lang.Object obj)`
`java.lang.String` `toString()`

### Methods inherited from class org.bouncycastle.asn1.DERBitString

`asn1Equals, getBytes, getBytes, getInstance, getPadBits, getPadBits, getString, hashCode, intValue`

### Methods inherited from class org.bouncycastle.asn1.ASN1Object

`equals, fromByteArray`

### Methods inherited from class org.bouncycastle.asn1.DERObject

`toASN1Object`

### Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

`getDEREncoded, getDERObject, getEncoded, getEncoded`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Field Detail

#### digitalSignature

    public static final int digitalSignature

See Also:
  Constant Field Values

#### nonRepudiation

    public static final int nonRepudiation

See Also:
  Constant Field Values

#### keyEncipherment

    public static final int keyEncipherment

See Also:
  Constant Field Values

#### dataEncipherment

    public static final int dataEncipherment

See Also:
  Constant Field Values

#### keyAgreement

    public static final int keyAgreement

See Also:
  Constant Field Values

#### keyCertSign

    public static final int keyCertSign

See Also:
  Constant Field Values

#### cRLSign

    public static final int cRLSign

See Also:
  Constant Field Values

#### encipherOnly

    public static final int encipherOnly

See Also:
  Constant Field Values

#### decipherOnly

    public static final int decipherOnly

See Also:
  Constant Field Values

### Constructor Detail

#### KeyUsage

    public KeyUsage(int usage)

Basic constructor.

Parameters:
  `usage` - - the bitwise OR of the Key Usage flags giving the allowed uses for the key. e.g. (KeyUsage.keyEncipherment | KeyUsage.dataEncipherment)

#### KeyUsage

    public KeyUsage(DERBitString usage)

### Method Detail

#### getInstance

    public static DERBitString getInstance(java.lang.Object obj)

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `DERBitString`