use of org.bouncycastle.asn1.DERTaggedObject in project wildfly by wildfly.
the class KerberosTestUtils method generateSpnegoTokenInit.
/**
* Generates SPNEGO init token with given initial ticket and supported mechanisms.
*
* @param ticket initial ticket for the preferred (the first) mechanism.
* @param supMechOids object identifiers (OIDs) of supported mechanisms for the SPNEGO.
* @return ASN.1 encoded SPNEGO init token
*/
public static byte[] generateSpnegoTokenInit(byte[] ticket, String... supMechOids) throws IOException {
DEROctetString ticketForPreferredMech = new DEROctetString(ticket);
ASN1EncodableVector mechSeq = new ASN1EncodableVector();
for (String mech : supMechOids) {
mechSeq.add(new ASN1ObjectIdentifier(mech));
}
DERTaggedObject taggedMechTypes = new DERTaggedObject(0, new DERSequence(mechSeq));
DERTaggedObject taggedMechToken = new DERTaggedObject(2, ticketForPreferredMech);
ASN1EncodableVector v = new ASN1EncodableVector();
v.add(taggedMechTypes);
v.add(taggedMechToken);
DERSequence seqNegTokenInit = new DERSequence(v);
DERTaggedObject taggedSpnego = new DERTaggedObject(0, seqNegTokenInit);
ASN1EncodableVector appVec = new ASN1EncodableVector();
appVec.add(new ASN1ObjectIdentifier(OID_SPNEGO));
appVec.add(taggedSpnego);
DERApplicationSpecific app = new DERApplicationSpecific(0, appVec);
return app.getEncoded();
}
use of org.bouncycastle.asn1.DERTaggedObject in project ddf by codice.
the class SignerCondition method getIdentifyFromBytes.
// this code was grabbed online and should be correct
// we don't have any tests for this so be wary of changing this code
private String getIdentifyFromBytes(byte[] itemBytes) {
try (ASN1InputStream decoder = new ASN1InputStream(itemBytes)) {
ASN1Encodable encoded = decoder.readObject();
encoded = ((DERSequence) encoded).getObjectAt(1);
encoded = ((DERTaggedObject) encoded).getObject();
encoded = ((DERTaggedObject) encoded).getObject();
return ((DERUTF8String) encoded).getString();
} catch (IOException e) {
return "";
}
}
Aggregations