本文整理了Java中org.spongycastle.asn1.x509.KeyUsage
类的一些代码示例,展示了KeyUsage
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。KeyUsage
类的具体详情如下:
包路径:org.spongycastle.asn1.x509.KeyUsage
类名称:KeyUsage
[英]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) }
[中]KeyUsage对象
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) }
代码示例来源:origin: com.madgag/scprov-jdk15on
public ASN1Primitive toASN1Primitive()
{
return new KeyUsage(usage);
}
}
代码示例来源:origin: com.madgag.spongycastle/bctls-jdk15on
protected void validateKeyUsage(int keyUsageBits)
throws IOException
{
Extensions exts = certificate.getTBSCertificate().getExtensions();
if (exts != null)
{
KeyUsage ku = KeyUsage.fromExtensions(exts);
if (ku != null)
{
int bits = ku.getBytes()[0] & 0xff;
if ((bits & keyUsageBits) != keyUsageBits)
{
throw new TlsFatalAlert(AlertDescription.certificate_unknown);
}
}
}
}
代码示例来源:origin: com.madgag.spongycastle/core
public static KeyUsage fromExtensions(Extensions extensions)
{
return KeyUsage.getInstance(extensions.getExtensionParsedValue(Extension.keyUsage));
}
代码示例来源:origin: com.madgag/sc-light-jdk15on
/**
* Basic constructor.
*
* @param usage - the bitwise OR of the Key Usage flags giving the
* allowed uses for the key.
* e.g. (KeyUsage.keyEncipherment | KeyUsage.dataEncipherment)
*/
public KeyUsage(
int usage)
{
super(getBytes(usage), getPadBits(usage));
}
代码示例来源:origin: com.madgag.spongycastle/prov
public ASN1Primitive toASN1Primitive()
{
return new KeyUsage(usage).toASN1Primitive();
}
}
代码示例来源:origin: com.madgag.spongycastle/bcpkix-jdk15on
KeyUsage keyUsage = KeyUsage.fromExtensions(cert.getExtensions());
if (keyUsage.hasUsages(KeyUsage.keyCertSign))
if (!(keyUsage.hasUsages(KeyUsage.digitalSignature) || keyUsage.hasUsages(KeyUsage.keyEncipherment)))
代码示例来源:origin: com.madgag.spongycastle/pkix
public void validate(CertPathValidationContext context, X509CertificateHolder certificate)
throws CertPathValidationException
{
context.addHandledExtension(Extension.keyUsage);
if (!context.isEndEntity())
{
KeyUsage usage = KeyUsage.fromExtensions(certificate.getExtensions());
if (usage != null)
{
if (!usage.hasUsages(KeyUsage.keyCertSign))
{
throw new CertPathValidationException("Issuer certificate KeyUsage extension does not permit key signing");
}
}
else
{
if (isMandatory)
{
throw new CertPathValidationException("KeyUsage extension not present in CA certificate");
}
}
}
}
代码示例来源:origin: com.madgag.spongycastle/core
static void validateKeyUsage(org.spongycastle.asn1.x509.Certificate c, int keyUsageBits)
throws IOException
{
Extensions exts = c.getTBSCertificate().getExtensions();
if (exts != null)
{
KeyUsage ku = KeyUsage.fromExtensions(exts);
if (ku != null)
{
int bits = ku.getBytes()[0] & 0xff;
if ((bits & keyUsageBits) != keyUsageBits)
{
throw new TlsFatalAlert(AlertDescription.certificate_unknown);
}
}
}
}
代码示例来源:origin: com.madgag.spongycastle/core
public static KeyUsage getInstance(Object obj) // needs to be DERBitString for other VMs
{
if (obj instanceof KeyUsage)
{
return (KeyUsage)obj;
}
else if (obj != null)
{
return new KeyUsage(DERBitString.getInstance(obj));
}
return null;
}
代码示例来源:origin: com.madgag.spongycastle/bcpkix-jdk15on
public void validate(CertPathValidationContext context, X509CertificateHolder certificate)
throws CertPathValidationException
{
context.addHandledExtension(Extension.keyUsage);
if (!context.isEndEntity())
{
KeyUsage usage = KeyUsage.fromExtensions(certificate.getExtensions());
if (usage != null)
{
if (!usage.hasUsages(KeyUsage.keyCertSign))
{
throw new CertPathValidationException("Issuer certificate KeyUsage extension does not permit key signing");
}
}
else
{
if (isMandatory)
{
throw new CertPathValidationException("KeyUsage extension not present in CA certificate");
}
}
}
}
代码示例来源:origin: com.madgag.spongycastle/prov
buf.append(KeyUsage.getInstance(dIn.readObject())).append(nl);
代码示例来源:origin: com.madgag.spongycastle/bctls-jdk15on
private boolean isSuitableKeyUsage(int keyUsageBits, X509Certificate c)
{
try
{
Extensions exts = TBSCertificate.getInstance(c.getTBSCertificate()).getExtensions();
if (exts != null)
{
KeyUsage ku = KeyUsage.fromExtensions(exts);
if (ku != null)
{
int bits = ku.getBytes()[0] & 0xff;
if ((bits & keyUsageBits) != keyUsageBits)
{
return false;
}
}
}
}
catch (Exception e)
{
return false;
}
return true;
}
}
代码示例来源:origin: com.madgag/sc-light-jdk15on
public static DERBitString getInstance(Object obj) // needs to be DERBitString for other VMs
{
if (obj instanceof KeyUsage)
{
return (KeyUsage)obj;
}
if (obj instanceof X509Extension)
{
return new KeyUsage(DERBitString.getInstance(X509Extension.convertValueToObject((X509Extension)obj)));
}
return new KeyUsage(DERBitString.getInstance(obj));
}
代码示例来源:origin: com.madgag.spongycastle/prov
buf.append(KeyUsage.getInstance(dIn.readObject())).append(nl);
代码示例来源:origin: com.madgag.spongycastle/bctls-jdk15on
private boolean isSuitableKeyUsage(int keyUsageBits, X509Certificate c)
{
try
{
Extensions exts = TBSCertificate.getInstance(c.getTBSCertificate()).getExtensions();
if (exts != null)
{
KeyUsage ku = KeyUsage.fromExtensions(exts);
if (ku != null)
{
int bits = ku.getBytes()[0] & 0xff;
if ((bits & keyUsageBits) != keyUsageBits)
{
return false;
}
}
}
}
catch (Exception e)
{
return false;
}
return true;
}
代码示例来源:origin: com.madgag/scprov-jdk15on
buf.append(new KeyUsage((DERBitString)dIn.readObject())).append(nl);
代码示例来源:origin: com.madgag/sc-light-jdk15on
static void validateKeyUsage(X509CertificateStructure c, int keyUsageBits) throws IOException
{
X509Extensions exts = c.getTBSCertificate().getExtensions();
if (exts != null)
{
X509Extension ext = exts.getExtension(X509Extension.keyUsage);
if (ext != null)
{
DERBitString ku = KeyUsage.getInstance(ext);
int bits = ku.getBytes()[0] & 0xff;
if ((bits & keyUsageBits) != keyUsageBits)
{
throw new TlsFatalAlert(AlertDescription.certificate_unknown);
}
}
}
}
代码示例来源:origin: com.madgag.spongycastle/bctls-jdk15on
protected void validateKeyUsage(int keyUsageBits)
throws IOException
{
Extensions exts;
try
{
exts = TBSCertificate.getInstance(certificate.getTBSCertificate()).getExtensions();
}
catch (CertificateEncodingException e)
{
throw new TlsCryptoException("unable to parse certificate extensions: " + e.getMessage(), e);
}
if (exts != null)
{
KeyUsage ku = KeyUsage.fromExtensions(exts);
if (ku != null)
{
int bits = ku.getBytes()[0] & 0xff;
if ((bits & keyUsageBits) != keyUsageBits)
{
throw new TlsFatalAlert(AlertDescription.certificate_unknown);
}
}
}
}
代码示例来源:origin: OPCFoundation/UA-Java-Legacy
Extension.keyUsage,
false,
new KeyUsage(KeyUsage.digitalSignature
| KeyUsage.keyEncipherment
| KeyUsage.nonRepudiation
代码示例来源:origin: OPCFoundation/UA-Java-Legacy
Extension.keyUsage,
false,
new KeyUsage(KeyUsage.digitalSignature
| KeyUsage.keyEncipherment
| KeyUsage.nonRepudiation
内容来源于网络,如有侵权,请联系作者删除!