KeyUsage.java
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:2k
源码类别:

CA认证

开发平台:

Java

  1. package org.bouncycastle.asn1.x509;
  2. import org.bouncycastle.asn1.*;
  3. /**
  4.  * <pre>
  5.  *    id-ce-keyUsage OBJECT IDENTIFIER ::=  { id-ce 15 }
  6.  *
  7.  *    KeyUsage ::= BIT STRING {
  8.  *         digitalSignature        (0),
  9.  *         nonRepudiation          (1),
  10.  *         keyEncipherment         (2),
  11.  *         dataEncipherment        (3),
  12.  *         keyAgreement            (4),
  13.  *         keyCertSign             (5),
  14.  *         cRLSign                 (6),
  15.  *         encipherOnly            (7),
  16.  *         decipherOnly            (8) }
  17.  * </pre>
  18.  */
  19. public class KeyUsage
  20.     extends DERBitString
  21. {
  22.     public static final int        digitalSignature = (1 << 7); 
  23.     public static final int        nonRepudiation   = (1 << 6);
  24.     public static final int        keyEncipherment  = (1 << 5);
  25.     public static final int        dataEncipherment = (1 << 4);
  26.     public static final int        keyAgreement     = (1 << 3);
  27.     public static final int        keyCertSign      = (1 << 2);
  28.     public static final int        cRLSign          = (1 << 1);
  29.     public static final int        encipherOnly     = (1 << 0);
  30.     public static final int        decipherOnly     = (1 << 15);
  31.     /**
  32.      * Basic constructor.
  33.      * 
  34.      * @param usage - the bitwise OR of the Key Usage flags giving the
  35.      * allowed uses for the key.
  36.      * e.g. (X509KeyUsage.keyEncipherment | X509KeyUsage.dataEncipherment)
  37.      */
  38.     public KeyUsage(
  39.         int usage)
  40.     {
  41.         super(getBytes(usage), getPadBits(usage));
  42.     }
  43.     public KeyUsage(
  44.         DERBitString usage)
  45.     {
  46.         super(usage.getBytes(), usage.getPadBits());
  47.     }
  48.     public String toString()
  49.     {
  50.         return "KeyUsage: 0x" + Integer.toHexString(data[0] & 0xff);
  51.     }
  52. }