package org.bouncycastle.asn1.x509;

import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.DERObject;
import org.bouncycastle.asn1.DERSequence;

UserNotice class, used in CertificatePolicies X509 extensions (in policy qualifiers).
UserNotice ::= SEQUENCE {
     noticeRef        NoticeReference OPTIONAL,
     explicitText     DisplayText OPTIONAL}
See Also:
/** * <code>UserNotice</code> class, used in * <code>CertificatePolicies</code> X509 extensions (in policy * qualifiers). * <pre> * UserNotice ::= SEQUENCE { * noticeRef NoticeReference OPTIONAL, * explicitText DisplayText OPTIONAL} * * </pre> * * @see PolicyQualifierId * @see PolicyInformation */
public class UserNotice extends ASN1Encodable { private NoticeReference noticeRef; private DisplayText explicitText;
Creates a new UserNotice instance.
Params:
  • noticeRef – a NoticeReference value
  • explicitText – a DisplayText value
/** * Creates a new <code>UserNotice</code> instance. * * @param noticeRef a <code>NoticeReference</code> value * @param explicitText a <code>DisplayText</code> value */
public UserNotice( NoticeReference noticeRef, DisplayText explicitText) { this.noticeRef = noticeRef; this.explicitText = explicitText; }
Creates a new UserNotice instance.
Params:
  • noticeRef – a NoticeReference value
  • str – the explicitText field as a String.
/** * Creates a new <code>UserNotice</code> instance. * * @param noticeRef a <code>NoticeReference</code> value * @param str the explicitText field as a String. */
public UserNotice( NoticeReference noticeRef, String str) { this.noticeRef = noticeRef; this.explicitText = new DisplayText(str); }
Creates a new UserNotice instance.

Useful from reconstructing a UserNotice instance from its encodable/encoded form.

Params:
  • as – an ASN1Sequence value obtained from either calling @{link toASN1Object()} for a UserNotice instance or from parsing it from a DER-encoded stream.
/** * Creates a new <code>UserNotice</code> instance. * <p>Useful from reconstructing a <code>UserNotice</code> instance * from its encodable/encoded form. * * @param as an <code>ASN1Sequence</code> value obtained from either * calling @{link toASN1Object()} for a <code>UserNotice</code> * instance or from parsing it from a DER-encoded stream. */
public UserNotice( ASN1Sequence as) { if (as.size() == 2) { noticeRef = NoticeReference.getInstance(as.getObjectAt(0)); explicitText = DisplayText.getInstance(as.getObjectAt(1)); } else if (as.size() == 1) { if (as.getObjectAt(0).getDERObject() instanceof ASN1Sequence) { noticeRef = NoticeReference.getInstance(as.getObjectAt(0)); } else { explicitText = DisplayText.getInstance(as.getObjectAt(0)); } } else { throw new IllegalArgumentException("Bad sequence size: " + as.size()); } } public NoticeReference getNoticeRef() { return noticeRef; } public DisplayText getExplicitText() { return explicitText; } public DERObject toASN1Object() { ASN1EncodableVector av = new ASN1EncodableVector(); if (noticeRef != null) { av.add(noticeRef); } if (explicitText != null) { av.add(explicitText); } return new DERSequence(av); } }