private static byte[] removingTagAndLenFromExtensionValue(byte[] encodedExtensionValue) { DEROctetString derOctet = (DEROctetString) DEROctetString.getInstance(encodedExtensionValue); return derOctet.getOctets(); }
public static byte[] getOctetStringBytes(ASN1Encodable object) throws BadAsn1ObjectException { try { return DEROctetString.getInstance(object).getOctets(); } catch (IllegalArgumentException ex) { throw new BadAsn1ObjectException("invalid object OctetString: " + ex.getMessage(), ex); } }
public static byte[] getOctetStringBytes(ASN1Encodable object) throws BadAsn1ObjectException { try { return DEROctetString.getInstance(object).getOctets(); } catch (IllegalArgumentException ex) { throw new BadAsn1ObjectException("invalid object OctetString: " + ex.getMessage(), ex); } }
public static byte[] getOctetStringBytes(final ASN1Encodable object) throws BadAsn1ObjectException { try { return DEROctetString.getInstance(object).getOctets(); } catch (IllegalArgumentException ex) { throw new BadAsn1ObjectException("invalid object OctetString: " + ex.getMessage(), ex); } }
private XMSSMTPublicKey(ASN1Sequence seq) { if (!ASN1Integer.getInstance(seq.getObjectAt(0)).getValue().equals(BigInteger.valueOf(0))) { throw new IllegalArgumentException("unknown version of sequence"); } this.publicSeed = Arrays.clone(DEROctetString.getInstance(seq.getObjectAt(1)).getOctets()); this.root = Arrays.clone(DEROctetString.getInstance(seq.getObjectAt(2)).getOctets()); }
/** * Construct a IP address general name from an ip address. * * @param ipAddress the ip address. */ public X509IpAddress(String ipAddress) { GeneralName name = new GeneralName(GeneralName.iPAddress, ipAddress); this.ipAddress = DEROctetString.getInstance(name.getName()).getOctets(); }
private XMSSPublicKey(ASN1Sequence seq) { if (!ASN1Integer.getInstance(seq.getObjectAt(0)).getValue().equals(BigInteger.valueOf(0))) { throw new IllegalArgumentException("unknown version of sequence"); } this.publicSeed = Arrays.clone(DEROctetString.getInstance(seq.getObjectAt(1)).getOctets()); this.root = Arrays.clone(DEROctetString.getInstance(seq.getObjectAt(2)).getOctets()); }
/** * Create a new instance from a Bouncy Castle general name. * * @param name the Bouncy Castle general name. */ public X509IpAddress(GeneralName name) { if (name.getTagNo() != GeneralName.iPAddress) { throw new IllegalArgumentException("Incompatible general name: " + name.getTagNo()); } this.ipAddress = DEROctetString.getInstance(name.getName()).getOctets(); }
private TLSProxyKeyTransportBlob(ASN1Sequence seq) { this.keyBlob = GostR3410KeyTransport.getInstance(seq.getObjectAt(0)); this.cert = (DEROctetString) DEROctetString.getInstance(seq.getObjectAt(1)); }
/** * output the ASN1 object of the proxy policy. * * @see org.bouncycastle.asn1.ASN1Object#toASN1Object() */ @Override public ASN1Primitive toASN1Primitive() { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(new ASN1ObjectIdentifier(oid)); if (policy != null) v.add(DEROctetString.getInstance(policy)); return new DERSequence(v); }
/** * Constructor from ASN1Sequence. * <p> * The sequence is of type CertHash: * <pre> * CertHash ::= SEQUENCE { * hashAlgorithm AlgorithmIdentifier, * certificateHash OCTET STRING * } * </pre> * </p> * @param seq The ASN.1 sequence. */ private CertHash(ASN1Sequence seq) { if (seq.size() != 2) { throw new IllegalArgumentException("Bad sequence size: " + seq.size()); } hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); certificateHash = DEROctetString.getInstance(seq.getObjectAt(1)).getOctets(); }
/** * Constructor from ASN1Sequence. * <p> * The sequence is of type CertHash: * <pre> * CertHash ::= SEQUENCE { * hashAlgorithm AlgorithmIdentifier, * certificateHash OCTET STRING * } * </pre> * </p> * @param seq The ASN.1 sequence. */ private CertHash(ASN1Sequence seq) { if (seq.size() != 2) { throw new IllegalArgumentException("Bad sequence size: " + seq.size()); } hashAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(0)); certificateHash = DEROctetString.getInstance(seq.getObjectAt(1)).getOctets(); }
private String getCertificateSKI(String alias, KeyStore keyStore) throws CryptoException, KeyStoreException { X509Certificate x509Cert = getCertificate(alias, keyStore); try { byte[] skiValue = x509Cert.getExtensionValue(Extension.subjectKeyIdentifier.getId()); byte[] octets = DEROctetString.getInstance(skiValue).getOctets(); byte[] skiBytes = SubjectKeyIdentifier.getInstance(octets).getKeyIdentifier(); return HexUtil.getHexString(skiBytes); } catch (Exception e) { return "-"; } }
private String getCertificateAKI(String alias, KeyStore keyStore) throws CryptoException, KeyStoreException { X509Certificate x509Cert = getCertificate(alias, keyStore); try { byte[] akiValue = x509Cert.getExtensionValue(Extension.authorityKeyIdentifier.getId()); byte[] octets = DEROctetString.getInstance(akiValue).getOctets(); byte[] akiBytes = AuthorityKeyIdentifier.getInstance(octets).getKeyIdentifier(); return HexUtil.getHexString(akiBytes); } catch (Exception e) { return "-"; } }
@Override protected byte[] digestSecretKey0(long mechanism) throws P11TokenException { Asn1P11EntityIdentifier asn1EntityId = new Asn1P11EntityIdentifier(identityId); Asn1DigestSecretKeyTemplate template = new Asn1DigestSecretKeyTemplate( asn1EntityId, mechanism); byte[] result = ((ProxyP11Slot) slot).module().send( P11ProxyConstants.ACTION_DIGEST_SECRETKEY, template); ASN1OctetString octetString; try { octetString = DEROctetString.getInstance(result); } catch (IllegalArgumentException ex) { throw new P11TokenException("the returned result is not OCTET STRING"); } return (octetString == null) ? null : octetString.getOctets(); }
@Override protected byte[] digestSecretKey0(long mechanism) throws P11TokenException { ProxyMessage.DigestSecretKeyTemplate template = new ProxyMessage.DigestSecretKeyTemplate( ((ProxyP11Slot) slot).getAsn1SlotId(), asn1KeyId, mechanism); byte[] result = ((ProxyP11Slot) slot).getModule().send( P11ProxyConstants.ACTION_DIGEST_SECRETKEY, template); ASN1OctetString octetString; try { octetString = DEROctetString.getInstance(result); } catch (IllegalArgumentException ex) { throw new P11TokenException("the returned result is not OCTET STRING"); } return (octetString == null) ? null : octetString.getOctets(); }
/** * Returns the AuthorityKeyIdentifier extension value on String format.<br> * Otherwise, returns <b>null</b>.<br> * * @return String * @throws IOException */ public String getAuthorityKeyIdentifier() throws IOException { // TODO - Precisa validar este metodo com a RFC DERSequence seq = (DERSequence) getExtensionValue(X509Extensions.AuthorityKeyIdentifier.getId()); if (seq == null || seq.size() == 0) { return null; } DERTaggedObject tag = (DERTaggedObject) seq.getObjectAt(0); DEROctetString oct = (DEROctetString) DEROctetString.getInstance(tag); return toString(oct.getOctets()); }
@Override protected byte[] sign0(final long mechanism, final P11Params parameters, final byte[] content) throws P11TokenException { Asn1P11EntityIdentifier asn1EntityId = new Asn1P11EntityIdentifier(identityId); Asn1P11Params p11Param = null; if (parameters instanceof P11RSAPkcsPssParams) { p11Param = new Asn1P11Params( new Asn1RSAPkcsPssParams((P11RSAPkcsPssParams) parameters)); } Asn1SignTemplate signTemplate = new Asn1SignTemplate(asn1EntityId, mechanism, p11Param, content); byte[] result = ((ProxyP11Slot) slot).module().send(P11ProxyConstants.ACTION_SIGN, signTemplate); ASN1OctetString octetString; try { octetString = DEROctetString.getInstance(result); } catch (IllegalArgumentException ex) { throw new P11TokenException("the returned result is not OCTET STRING"); } return (octetString == null) ? null : octetString.getOctets(); }
private NewObjectControl(ASN1Sequence seq) throws BadAsn1ObjectException { final int size = seq.size(); Args.min(size, "seq.size", 1); String label = DERUTF8String.getInstance(seq.getObjectAt(0)).getString(); byte[] id = null; for (int i = 1; i < size; i++) { ASN1Encodable obj = seq.getObjectAt(i); if (obj instanceof ASN1TaggedObject) { continue; } ASN1TaggedObject tagObj = (ASN1TaggedObject) obj; int tagNo = tagObj.getTagNo(); if (tagNo == 0) { id = DEROctetString.getInstance(tagObj.getObject()).getOctets(); } } this.control = new P11NewKeyControl(id, label); }
private Asn1NewObjectControl(ASN1Sequence seq) throws BadAsn1ObjectException { final int size = seq.size(); ParamUtil.requireMin("seq.size", size, 1); String label = DERUTF8String.getInstance(seq.getObjectAt(0)).getString(); byte[] id = null; for (int i = 1; i < size; i++) { ASN1Encodable obj = seq.getObjectAt(i); if (obj instanceof ASN1TaggedObject) { continue; } ASN1TaggedObject tagObj = (ASN1TaggedObject) obj; int tagNo = tagObj.getTagNo(); if (tagNo == 0) { id = DEROctetString.getInstance(tagObj.getObject()).getOctets(); } } this.control = new P11NewKeyControl(id, label); }