Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.bouncycastle.asn1.esf;
  
  
Signer-Location attribute (RFC3126).
   SignerLocation ::= SEQUENCE {
       countryName        [0] DirectoryString OPTIONAL,
       localityName       [1] DirectoryString OPTIONAL,
       postalAddress      [2] PostalAddress OPTIONAL }

   PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
 
 
 public class SignerLocation
     extends ASN1Object
 {
     private DERUTF8String   countryName;
     private DERUTF8String   localityName;
     private ASN1Sequence    postalAddress;
     
     private SignerLocation(
         ASN1Sequence seq)
     {
         Enumeration     e = seq.getObjects();
 
         while (e.hasMoreElements())
         {
             DERTaggedObject o = (DERTaggedObject)e.nextElement();
 
             switch (o.getTagNo())
             {
             case 0:
                 DirectoryString countryNameDirectoryString = DirectoryString.getInstance(otrue);
                 this. = new DERUTF8String(countryNameDirectoryString.getString());
                 break;
             case 1:
                 DirectoryString localityNameDirectoryString = DirectoryString.getInstance(otrue);
                 this. = new DERUTF8String(localityNameDirectoryString.getString());
                 break;
             case 2:
                 if (o.isExplicit())
                 {
                     this. = ASN1Sequence.getInstance(otrue);
                 }
                 else    // handle erroneous implicitly tagged sequences
                 {
                     this. = ASN1Sequence.getInstance(ofalse);
                 }
                 if ( != null && .size() > 6)
                 {
                     throw new IllegalArgumentException("postal address must contain less than 6 strings");
                 }
                 break;
             default:
                 throw new IllegalArgumentException("illegal tag");
             }
         }
     }
 
     public SignerLocation(
         DERUTF8String   countryName,
         DERUTF8String   localityName,
         ASN1Sequence    postalAddress)
     {
         if (postalAddress != null && postalAddress.size() > 6)
         {
             throw new IllegalArgumentException("postal address must contain less than 6 strings");
         }
 
         if (countryName != null)
         {
             this. = DERUTF8String.getInstance(countryName.toASN1Primitive());
         }
 
         if (localityName != null)
         {
             this. = DERUTF8String.getInstance(localityName.toASN1Primitive());
         }
 
         if (postalAddress != null)
         {
             this. = ASN1Sequence.getInstance(postalAddress.toASN1Primitive());
         }
     }
 
     public static SignerLocation getInstance(
         Object obj)
    {
        if (obj == null || obj instanceof SignerLocation)
        {
            return (SignerLocation)obj;
        }
        return new SignerLocation(ASN1Sequence.getInstance(obj));
    }
    public DERUTF8String getCountryName()
    {
        return ;
    }
    {
        return ;
    }
    {
        return ;
    }

    
   SignerLocation ::= SEQUENCE {
       countryName        [0] DirectoryString OPTIONAL,
       localityName       [1] DirectoryString OPTIONAL,
       postalAddress      [2] PostalAddress OPTIONAL }

   PostalAddress ::= SEQUENCE SIZE(1..6) OF DirectoryString
   
   DirectoryString ::= CHOICE {
         teletexString           TeletexString (SIZE (1..MAX)),
         printableString         PrintableString (SIZE (1..MAX)),
         universalString         UniversalString (SIZE (1..MAX)),
         utf8String              UTF8String (SIZE (1.. MAX)),
         bmpString               BMPString (SIZE (1..MAX)) }
 
    {
        ASN1EncodableVector  v = new ASN1EncodableVector();
        if ( != null)
        {
            v.add(new DERTaggedObject(true, 0, ));
        }
        if ( != null)
        {
            v.add(new DERTaggedObject(true, 1, ));
        }
        if ( != null)
        {
            v.add(new DERTaggedObject(true, 2, ));
        }
        return new DERSequence(v);
    }
New to GrepCode? Check out our FAQ X