本文整理了Java中org.bouncycastle.asn1.ASN1Primitive
类的一些代码示例,展示了ASN1Primitive
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ASN1Primitive
类的具体详情如下:
包路径:org.bouncycastle.asn1.ASN1Primitive
类名称:ASN1Primitive
[英]Base class for ASN.1 primitive objects. These are the actual objects used to generate byte encodings.
[中]ASN的基类。1基本对象。这些是用于生成字节编码的实际对象。
代码示例来源:origin: square/okhttp
private ByteString pkcs1Bytes() {
try {
PrivateKeyInfo privateKeyInfo = PrivateKeyInfo.getInstance(keyPair.getPrivate().getEncoded());
return ByteString.of(privateKeyInfo.parsePrivateKey().toASN1Primitive().getEncoded());
} catch (IOException e) {
throw new AssertionError(e);
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
private OtherRevRefs(ASN1Sequence seq)
{
if (seq.size() != 2)
{
throw new IllegalArgumentException("Bad sequence size: "
+ seq.size());
}
this.otherRevRefType = new ASN1ObjectIdentifier(((ASN1ObjectIdentifier)seq.getObjectAt(0)).getId());
try
{
this.otherRevRefs = ASN1Primitive.fromByteArray(seq.getObjectAt(1)
.toASN1Primitive().getEncoded(ASN1Encoding.DER));
}
catch (IOException e)
{
throw new IllegalStateException();
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
private OtherRevVals(ASN1Sequence seq)
{
if (seq.size() != 2)
{
throw new IllegalArgumentException("Bad sequence size: "
+ seq.size());
}
this.otherRevValType = (ASN1ObjectIdentifier)seq.getObjectAt(0);
try
{
this.otherRevVals = ASN1Primitive.fromByteArray(seq.getObjectAt(1)
.toASN1Primitive().getEncoded(ASN1Encoding.DER));
}
catch (IOException e)
{
throw new IllegalStateException();
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
key = (ASN1OctetString)ASN1Primitive.fromByteArray(bits.getBytes());
byte[] keyEnc = key.getOctets();
if (keyInfo.getAlgorithm().getAlgorithm().equals(UAObjectIdentifiers.dstu4145le))
DSTU4145Params dstuParams = DSTU4145Params.getInstance(keyInfo.getAlgorithm().getParameters());
if (keyInfo.getAlgorithm().getAlgorithm().equals(UAObjectIdentifiers.dstu4145le))
ECCurve curve = new ECCurve.F2m(field.getM(), field.getK1(), field.getK2(), field.getK3(), binary.getA(), new BigInteger(1, b_bytes));
byte[] g_bytes = binary.getG();
if (keyInfo.getAlgorithm().getAlgorithm().equals(UAObjectIdentifiers.dstu4145le))
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
/**
* @deprecated use org.bouncycastle.cert.jcajce.JcaX509ExtensionUtils.parseExtensionValue()
*/
public static ASN1Primitive fromExtensionValue(
byte[] encodedValue)
throws IOException
{
ASN1OctetString octs = (ASN1OctetString)ASN1Primitive.fromByteArray(encodedValue);
return ASN1Primitive.fromByteArray(octs.getOctets());
}
代码示例来源:origin: zero11it/acme-client
public static String getCACertificateURL(X509Certificate certificate) throws IOException {
byte[] bOctets = ((ASN1OctetString) ASN1Primitive.fromByteArray(certificate.getExtensionValue(Extension.authorityInfoAccess.getId()))).getOctets();
AuthorityInformationAccess access = AuthorityInformationAccess.getInstance(ASN1Sequence.fromByteArray(bOctets));
for (AccessDescription ad:access.getAccessDescriptions()){
if (ad.getAccessMethod().equals(X509ObjectIdentifiers.id_ad_caIssuers)){
return ad.getAccessLocation().getName().toString();
}
}
return null;
}
}
代码示例来源:origin: poreid/poreid
private URL getOcspUrlFromCertificate(X509Certificate certificate) {
byte[] octetBytes = certificate.getExtensionValue(org.bouncycastle.asn1.x509.Extension.authorityInfoAccess.getId());
if (null != octetBytes) {
try {
byte[] encoded = X509ExtensionUtil.fromExtensionValue(octetBytes).getEncoded();
ASN1Sequence seq = ASN1Sequence.getInstance(ASN1Primitive.fromByteArray(encoded));
AuthorityInformationAccess access = AuthorityInformationAccess.getInstance(seq);
for (AccessDescription accessDescription : access.getAccessDescriptions()){
if (accessDescription.getAccessMethod().equals(AccessDescription.id_ad_ocsp)){
url = new URL(accessDescription.getAccessLocation().getName().toString());
break;
}
}
} catch (IOException ignore) {
}
}
return url;
}
代码示例来源:origin: SAMLRaider/SAMLRaider
public String getSubjectKeyIdentifier() {
// https://stackoverflow.com/questions/6523081/why-doesnt-my-key-identifier-match
byte[] e = certificate.getExtensionValue(Extension.subjectKeyIdentifier.getId());
if (e == null) {
return "";
}
ASN1Primitive ap;
byte[] k = {};
try {
ap = JcaX509ExtensionUtils.parseExtensionValue(e);
k = ASN1OctetString.getInstance(ap.getEncoded()).getOctets();
} catch (IOException e1) {
e1.printStackTrace();
}
return CertificateHelper.addHexColons(CertificateHelper.byteArrayToHex(k));
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
private void verifySig(ASN1Encodable store, SignatureCheck integrityCheck, PublicKey key)
throws GeneralSecurityException, IOException
{
Signature sig = helper.createSignature(integrityCheck.getSignatureAlgorithm().getAlgorithm().getId());
sig.initVerify(key);
sig.update(store.toASN1Primitive().getEncoded(ASN1Encoding.DER));
if (!sig.verify(integrityCheck.getSignature().getOctets()))
{
throw new IOException("BCFKS KeyStore corrupted: signature calculation failed");
}
}
代码示例来源:origin: kaikramer/keystore-explorer
/**
* Parse UPN/otherName
*
* @param generalName otherName object
* @return UPN as string
*/
public static String parseUPN(GeneralName generalName) {
// OtherName ::= SEQUENCE {
// type-id OBJECT IDENTIFIER,
// value [0] EXPLICIT ANY DEFINED BY type-id }
ASN1Sequence otherName = (ASN1Sequence) generalName.getName();
ASN1ObjectIdentifier oid = (ASN1ObjectIdentifier) otherName.getObjectAt(0);
if (UPN_OID.equals(oid.getId())) {
DERTaggedObject derTaggedObject = (DERTaggedObject) otherName.getObjectAt(1);
DERUTF8String upn = DERUTF8String.getInstance(derTaggedObject.getObject());
return MessageFormat.format(res.getString("GeneralNameUtil.OtherGeneralName"), "UPN", upn.getString());
}
// fallback to generic handling
ASN1Encodable value = otherName.getObjectAt(1);
try {
return MessageFormat.format(res.getString("GeneralNameUtil.OtherGeneralName"),
ObjectIdUtil.toString(oid),
HexUtil.getHexString(value.toASN1Primitive().getEncoded(ASN1Encoding.DER)));
} catch (IOException e) {
return MessageFormat.format(res.getString("GeneralNameUtil.OtherGeneralName"),
ObjectIdUtil.toString(oid),
"");
}
}
代码示例来源:origin: SAMLRaider/SAMLRaider
public String getAuthorityKeyIdentifier() {
byte[] e = certificate.getExtensionValue(Extension.authorityKeyIdentifier.getId());
if (e == null) {
return "";
}
ASN1Primitive ap;
byte[] k = {};
try {
ap = JcaX509ExtensionUtils.parseExtensionValue(e);
k = ASN1Sequence.getInstance(ap.getEncoded()).getEncoded();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
// Very ugly hack to extract the SHA1 Hash (59 Hex Chars) from the
// Extension :(
return CertificateHelper.addHexColons(CertificateHelper.byteArrayToHex(k)).substring(12, k.length * 3 - 1);
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
private String stringifyOtherNameCollection(Set otherNames)
{
StringBuilder temp = new StringBuilder();
temp.append("[");
for (Iterator it = otherNames.iterator(); it.hasNext(); )
{
if (temp.length() > 1)
{
temp.append(",");
}
OtherName name = OtherName.getInstance(it.next());
temp.append(name.getTypeID().getId());
temp.append(":");
try
{
temp.append(Hex.toHexString(name.getValue().toASN1Primitive().getEncoded()));
}
catch (IOException e)
{
temp.append(e.toString());
}
}
temp.append("]");
return temp.toString();
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
pki = PrivateKeyInfo.getInstance(ASN1Primitive.fromByteArray(encKey));
if (PQCObjectIdentifiers.mcEliece.equals(pki.getPrivateKeyAlgorithm().getAlgorithm()))
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
/**
* return the signature parameters, or null if there aren't any.
*/
public byte[] getSigAlgParams()
{
if (c.getSignatureAlgorithm().getParameters() != null)
{
try
{
return c.getSignatureAlgorithm().getParameters().toASN1Primitive().getEncoded(ASN1Encoding.DER);
}
catch (IOException e)
{
return null;
}
}
else
{
return null;
}
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
protected void localInit(
byte[] params)
throws IOException
{
ASN1Primitive asn1Params = ASN1Primitive.fromByteArray(params);
if (asn1Params instanceof ASN1OctetString)
{
this.iv = ASN1OctetString.getInstance(asn1Params).getOctets();
}
else if (asn1Params instanceof ASN1Sequence)
{
GOST28147Parameters gParams = GOST28147Parameters.getInstance(asn1Params);
this.sBox = gParams.getEncryptionParamSet();
this.iv = gParams.getIV();
}
else
{
throw new IOException("Unable to recognize parameters");
}
}
代码示例来源:origin: eu.eu-emi.security/canl
/**
* Extracts the full algorithm identifier from the given certificate.
* @param cert input certificate
* @return extracted algorithm id
* @throws IOException if parameters of the algorithm can not be parsed
*/
public static AlgorithmIdentifier extractAlgorithmId(X509Certificate cert)
throws IOException
{
String oid = cert.getSigAlgOID();
byte params[] = cert.getSigAlgParams();
if (params != null)
{
ASN1Primitive derParams = ASN1Primitive.fromByteArray(params);
return new AlgorithmIdentifier(new ASN1ObjectIdentifier(oid),
derParams);
} else
{
return new AlgorithmIdentifier(new ASN1ObjectIdentifier(oid));
}
}
}
代码示例来源:origin: itext/itext7
static X509Principal getIssuerX509Name(ASN1Sequence issuerAndSerialNumber) throws IOException {
return new X509Principal(issuerAndSerialNumber.getObjectAt(0).toASN1Primitive().getEncoded());
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
boolean asn1Equals(
ASN1Primitive o)
{
if (!(o instanceof ASN1Sequence))
{
return false;
}
ASN1Sequence other = (ASN1Sequence)o;
if (this.size() != other.size())
{
return false;
}
Enumeration s1 = this.getObjects();
Enumeration s2 = other.getObjects();
while (s1.hasMoreElements())
{
ASN1Encodable obj1 = getNext(s1);
ASN1Encodable obj2 = getNext(s2);
ASN1Primitive o1 = obj1.toASN1Primitive();
ASN1Primitive o2 = obj2.toASN1Primitive();
if (o1 == o2 || o1.equals(o2))
{
continue;
}
return false;
}
return true;
}
代码示例来源:origin: org.bouncycastle/bcprov-debug-jdk15on
key = (ASN1OctetString)ASN1Primitive.fromByteArray(bits.getBytes());
byte[] keyEnc = key.getOctets();
if (info.getAlgorithm().getParameters() instanceof ASN1ObjectIdentifier)
paramOID = ASN1ObjectIdentifier.getInstance(info.getAlgorithm().getParameters());
gostParams = paramOID;
GOST3410PublicKeyAlgParameters params = GOST3410PublicKeyAlgParameters.getInstance(info.getAlgorithm().getParameters());
gostParams = params;
paramOID = params.getPublicKeyParamSet();
代码示例来源:origin: eu.eu-emi.security/canl
public static byte[] extractNonce(OCSPReq request) throws IOException
{
Extension nonceExt = request.getExtension(OCSPObjectIdentifiers.id_pkix_ocsp_nonce);
if (nonceExt == null)
return null;
byte[] nonceAsn = nonceExt.getExtnValue().getEncoded();
if (nonceAsn == null)
return null;
ASN1OctetString octs;
try
{
octs = (ASN1OctetString)ASN1Primitive.fromByteArray(nonceAsn);
} catch (Exception e)
{
throw new IllegalStateException("Can't decode nonce encoded in request", e);
}
return octs.getOctets();
}
}
内容来源于网络,如有侵权,请联系作者删除!