use of com.unboundid.asn1.ASN1GeneralizedTime in project keystore-explorer by kaikramer.
the class X509Ext method getDeclarationOfMajorityStringValue.
private static String getDeclarationOfMajorityStringValue(byte[] octets) {
// @formatter:off
/*
DeclarationOfMajoritySyntax ::= CHOICE
{
notYoungerThan [0] IMPLICIT INTEGER,
fullAgeAtCountry [1] IMPLICIT SEQUENCE {
fullAge BOOLEAN DEFAULT TRUE,
country PrintableString (SIZE(2))
},
dateOfBirth [2] IMPLICIT GeneralizedTime
}
*/
// @formatter:on
StringBuilder sb = new StringBuilder();
DeclarationOfMajority declarationOfMajority = DeclarationOfMajority.getInstance(octets);
int notYoungerThan = declarationOfMajority.notYoungerThan();
ASN1Sequence fullAgeAtCountry = declarationOfMajority.fullAgeAtCountry();
ASN1GeneralizedTime dateOfBirth = declarationOfMajority.getDateOfBirth();
if (notYoungerThan != -1) {
sb.append(MessageFormat.format(res.getString("DeclarationOfMajority.notYoungerThan"), notYoungerThan));
sb.append(NEWLINE);
}
if (fullAgeAtCountry != null) {
ASN1Boolean fullAge = ASN1Boolean.getInstance(fullAgeAtCountry.getObjectAt(0));
ASN1PrintableString country = ASN1PrintableString.getInstance(fullAgeAtCountry.getObjectAt(1));
sb.append(MessageFormat.format(res.getString("DeclarationOfMajority.fullAgeAtCountry"), country.toString(), fullAge.toString()));
sb.append(NEWLINE);
}
if (dateOfBirth != null) {
sb.append(MessageFormat.format(res.getString("DeclarationOfMajority.dateOfBirth"), dateOfBirth));
sb.append(NEWLINE);
}
return sb.toString();
}
use of com.unboundid.asn1.ASN1GeneralizedTime in project keystore-explorer by kaikramer.
the class X509Ext method getInvalidityDateStringValue.
private static String getInvalidityDateStringValue(byte[] value) throws IOException {
// @formatter:off
/* InvalidityDate ::= ASN1GeneralizedTime */
// @formatter:on
StringBuilder sb = new StringBuilder();
ASN1GeneralizedTime invalidityDate = ASN1GeneralizedTime.getInstance(value);
sb.append(getGeneralizedTimeString(invalidityDate));
sb.append(NEWLINE);
return sb.toString();
}
use of com.unboundid.asn1.ASN1GeneralizedTime in project jruby-openssl by jruby.
the class OCSPBasicResponse method add_status.
@JRubyMethod(name = "add_status", rest = true)
public OCSPBasicResponse add_status(final ThreadContext context, IRubyObject[] args) {
Ruby runtime = context.getRuntime();
Arity.checkArgumentCount(runtime, args, 7, 7);
IRubyObject certificateId = args[0];
IRubyObject status = args[1];
IRubyObject reason = args[2];
IRubyObject revocation_time = args[3];
IRubyObject this_update = args[4];
IRubyObject next_update = args[5];
IRubyObject extensions = args[6];
CertStatus certStatus = null;
switch(RubyFixnum.fix2int((RubyFixnum) status)) {
case 0:
certStatus = new CertStatus();
break;
case 1:
ASN1GeneralizedTime revTime = rubyIntOrTimeToGenTime(revocation_time);
RevokedInfo revokedInfo = new RevokedInfo(revTime, CRLReason.lookup(RubyFixnum.fix2int((RubyFixnum) reason)));
certStatus = new CertStatus(revokedInfo);
break;
case 2:
certStatus = new CertStatus(2, DERNull.INSTANCE);
break;
default:
break;
}
ASN1GeneralizedTime thisUpdate = rubyIntOrTimeToGenTime(this_update);
ASN1GeneralizedTime nextUpdate = rubyIntOrTimeToGenTime(next_update);
Extensions singleExtensions = convertRubyExtensions(extensions);
CertID certID = ((OCSPCertificateId) certificateId).getCertID();
SingleResponse ocspSingleResp = new SingleResponse(certID, certStatus, thisUpdate, nextUpdate, singleExtensions);
OCSPSingleResponse rubySingleResp = new OCSPSingleResponse(runtime);
try {
rubySingleResp.initialize(context, RubyString.newString(runtime, ocspSingleResp.getEncoded()));
singleResponses.add(rubySingleResp);
} catch (IOException e) {
throw newOCSPError(runtime, e);
}
return this;
}
use of com.unboundid.asn1.ASN1GeneralizedTime in project xipki by xipki.
the class ExtensionsConfCreatorDemo method createConstantExtensions.
// method extensionsSyntaxExt
private static List<X509ExtensionType> createConstantExtensions(ASN1ObjectIdentifier oidPrefix, Tag tag) {
List<X509ExtensionType> list = new LinkedList<>();
// Custom Constant Extension Value
list.add(createConstantExtension(oidPrefix.branch("1"), tag, FieldType.BIT_STRING, Base64.encodeToString(new byte[] { 1, 2 })));
list.add(createConstantExtension(oidPrefix.branch("2"), tag, FieldType.BMPString, "A BMP string"));
list.add(createConstantExtension(oidPrefix.branch("3"), tag, FieldType.BOOLEAN, Boolean.TRUE.toString()));
list.add(createConstantExtension(oidPrefix.branch("4"), tag, FieldType.IA5String, "An IA5 string"));
list.add(createConstantExtension(oidPrefix.branch("5"), tag, FieldType.INTEGER, "10"));
list.add(createConstantExtension(oidPrefix.branch("6"), tag, FieldType.NULL, null));
list.add(createConstantExtension(oidPrefix.branch("7"), tag, FieldType.OCTET_STRING, Base64.encodeToString(new byte[] { 3, 4 })));
list.add(createConstantExtension(oidPrefix.branch("8"), tag, FieldType.OID, "2.3.4.5"));
list.add(createConstantExtension(oidPrefix.branch("9"), tag, FieldType.PrintableString, "A printable string"));
list.add(createConstantExtension(oidPrefix.branch("10"), tag, FieldType.NULL, null));
list.add(createConstantExtension(oidPrefix.branch("11"), tag, FieldType.TeletexString, "A teletax string"));
list.add(createConstantExtension(oidPrefix.branch("12"), tag, FieldType.UTF8String, "A UTF8 string"));
list.add(createConstantExtension(oidPrefix.branch("13"), tag, FieldType.ENUMERATED, "2"));
list.add(createConstantExtension(oidPrefix.branch("14"), tag, FieldType.GeneralizedTime, new ASN1GeneralizedTime("20180314130102Z").getTimeString()));
list.add(createConstantExtension(oidPrefix.branch("15"), tag, FieldType.UTCTime, "190314130102Z"));
list.add(createConstantExtension(oidPrefix.branch("16"), tag, FieldType.Name, "CN=abc,C=DE"));
list.add(createConstantExtension(oidPrefix.branch("17"), tag, FieldType.SEQUENCE, null));
last(list).getConstant().setListValue(createConstantSequenceOrSet());
list.add(createConstantExtension(oidPrefix.branch("18"), tag, FieldType.SEQUENCE_OF, null));
last(list).getConstant().setListValue(createConstantSequenceOfOrSetOf());
list.add(createConstantExtension(oidPrefix.branch("19"), tag, FieldType.SET, null));
last(list).getConstant().setListValue(createConstantSequenceOrSet());
list.add(createConstantExtension(oidPrefix.branch("20"), tag, FieldType.SET_OF, null));
last(list).getConstant().setListValue(createConstantSequenceOfOrSetOf());
return list;
}
use of com.unboundid.asn1.ASN1GeneralizedTime in project LinLong-Java by zhenwei1108.
the class ASN1Dump method _dumpAsString.
/**
* dump a DER object as a formatted string with indentation
*
* @param obj the ASN1Primitive to be dumped out.
*/
static void _dumpAsString(String indent, boolean verbose, ASN1Primitive obj, StringBuffer buf) {
String nl = Strings.lineSeparator();
if (obj instanceof ASN1Null) {
buf.append(indent);
buf.append("NULL");
buf.append(nl);
} else if (obj instanceof ASN1Sequence) {
buf.append(indent);
if (obj instanceof BERSequence) {
buf.append("BER Sequence");
} else if (obj instanceof DERSequence) {
buf.append("DER Sequence");
} else {
buf.append("Sequence");
}
buf.append(nl);
ASN1Sequence sequence = (ASN1Sequence) obj;
String elementsIndent = indent + TAB;
for (int i = 0, count = sequence.size(); i < count; ++i) {
_dumpAsString(elementsIndent, verbose, sequence.getObjectAt(i).toASN1Primitive(), buf);
}
} else if (obj instanceof ASN1Set) {
buf.append(indent);
if (obj instanceof BERSet) {
buf.append("BER Set");
} else if (obj instanceof DERSet) {
buf.append("DER Set");
} else {
buf.append("Set");
}
buf.append(nl);
ASN1Set set = (ASN1Set) obj;
String elementsIndent = indent + TAB;
for (int i = 0, count = set.size(); i < count; ++i) {
_dumpAsString(elementsIndent, verbose, set.getObjectAt(i).toASN1Primitive(), buf);
}
} else if (obj instanceof ASN1ApplicationSpecific) {
_dumpAsString(indent, verbose, ((ASN1ApplicationSpecific) obj).getTaggedObject(), buf);
} else if (obj instanceof ASN1TaggedObject) {
buf.append(indent);
if (obj instanceof BERTaggedObject) {
buf.append("BER Tagged ");
} else if (obj instanceof DERTaggedObject) {
buf.append("DER Tagged ");
} else {
buf.append("Tagged ");
}
ASN1TaggedObject o = (ASN1TaggedObject) obj;
buf.append(ASN1Util.getTagText(o));
if (!o.isExplicit()) {
buf.append(" IMPLICIT ");
}
buf.append(nl);
String baseIndent = indent + TAB;
_dumpAsString(baseIndent, verbose, o.getBaseObject().toASN1Primitive(), buf);
} else if (obj instanceof ASN1OctetString) {
ASN1OctetString oct = (ASN1OctetString) obj;
if (obj instanceof BEROctetString) {
buf.append(indent + "BER Constructed Octet String" + "[" + oct.getOctets().length + "] ");
} else {
buf.append(indent + "DER Octet String" + "[" + oct.getOctets().length + "] ");
}
if (verbose) {
buf.append(dumpBinaryDataAsString(indent, oct.getOctets()));
} else {
buf.append(nl);
}
} else if (obj instanceof ASN1ObjectIdentifier) {
buf.append(indent + "ObjectIdentifier(" + ((ASN1ObjectIdentifier) obj).getId() + ")" + nl);
} else if (obj instanceof ASN1RelativeOID) {
buf.append(indent + "RelativeOID(" + ((ASN1RelativeOID) obj).getId() + ")" + nl);
} else if (obj instanceof ASN1Boolean) {
buf.append(indent + "Boolean(" + ((ASN1Boolean) obj).isTrue() + ")" + nl);
} else if (obj instanceof ASN1Integer) {
buf.append(indent + "Integer(" + ((ASN1Integer) obj).getValue() + ")" + nl);
} else if (obj instanceof ASN1BitString) {
ASN1BitString bitString = (ASN1BitString) obj;
byte[] bytes = bitString.getBytes();
int padBits = bitString.getPadBits();
if (bitString instanceof DERBitString) {
buf.append(indent + "DER Bit String" + "[" + bytes.length + ", " + padBits + "] ");
} else if (bitString instanceof DLBitString) {
buf.append(indent + "DL Bit String" + "[" + bytes.length + ", " + padBits + "] ");
} else {
buf.append(indent + "BER Bit String" + "[" + bytes.length + ", " + padBits + "] ");
}
if (verbose) {
buf.append(dumpBinaryDataAsString(indent, bytes));
} else {
buf.append(nl);
}
} else if (obj instanceof ASN1IA5String) {
buf.append(indent + "IA5String(" + ((ASN1IA5String) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1UTF8String) {
buf.append(indent + "UTF8String(" + ((ASN1UTF8String) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1NumericString) {
buf.append(indent + "NumericString(" + ((ASN1NumericString) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1PrintableString) {
buf.append(indent + "PrintableString(" + ((ASN1PrintableString) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1VisibleString) {
buf.append(indent + "VisibleString(" + ((ASN1VisibleString) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1BMPString) {
buf.append(indent + "BMPString(" + ((ASN1BMPString) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1T61String) {
buf.append(indent + "T61String(" + ((ASN1T61String) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1GraphicString) {
buf.append(indent + "GraphicString(" + ((ASN1GraphicString) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1VideotexString) {
buf.append(indent + "VideotexString(" + ((ASN1VideotexString) obj).getString() + ") " + nl);
} else if (obj instanceof ASN1UTCTime) {
buf.append(indent + "UTCTime(" + ((ASN1UTCTime) obj).getTime() + ") " + nl);
} else if (obj instanceof ASN1GeneralizedTime) {
buf.append(indent + "GeneralizedTime(" + ((ASN1GeneralizedTime) obj).getTime() + ") " + nl);
} else if (obj instanceof ASN1Enumerated) {
ASN1Enumerated en = (ASN1Enumerated) obj;
buf.append(indent + "DER Enumerated(" + en.getValue() + ")" + nl);
} else if (obj instanceof ASN1ObjectDescriptor) {
ASN1ObjectDescriptor od = (ASN1ObjectDescriptor) obj;
buf.append(indent + "ObjectDescriptor(" + od.getBaseGraphicString().getString() + ") " + nl);
} else if (obj instanceof ASN1External) {
ASN1External ext = (ASN1External) obj;
buf.append(indent + "External " + nl);
String tab = indent + TAB;
if (ext.getDirectReference() != null) {
buf.append(tab + "Direct Reference: " + ext.getDirectReference().getId() + nl);
}
if (ext.getIndirectReference() != null) {
buf.append(tab + "Indirect Reference: " + ext.getIndirectReference().toString() + nl);
}
if (ext.getDataValueDescriptor() != null) {
_dumpAsString(tab, verbose, ext.getDataValueDescriptor(), buf);
}
buf.append(tab + "Encoding: " + ext.getEncoding() + nl);
_dumpAsString(tab, verbose, ext.getExternalContent(), buf);
} else {
buf.append(indent + obj.toString() + nl);
}
}
Aggregations