Exemplo n.º 1
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * Attribute ::= SEQUENCE {
         *     attrType OBJECT IDENTIFIER,
         *     attrValues SET OF AttributeValue
         * }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(attrType);
            v.add(attrValues);

            return(new DERSequence(v));
        }
Exemplo n.º 2
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(name);
            v.add(serialNumber);

            return(new DERSequence(v));
        }
Exemplo n.º 3
0
        /**
         * This outputs the key in PKCS1v2 format.
         * <pre>
         *      RSAPublicKey ::= SEQUENCE {
         *                          modulus INTEGER, -- n
         *                          publicExponent INTEGER, -- e
         *                      }
         * </pre>
         * <p>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(new DERInteger(getModulus()));
            v.add(new DERInteger(getPublicExponent()));

            return(new DERSequence(v));
        }
Exemplo n.º 4
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         *  AttCertValidityPeriod  ::= SEQUENCE {
         *       notBeforeTime  GeneralizedTime,
         *       notAfterTime   GeneralizedTime
         *  }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(notBeforeTime);
            v.add(notAfterTime);

            return(new DERSequence(v));
        }
Exemplo n.º 5
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         *  KeySpecificInfo ::= SEQUENCE {
         *      algorithm OBJECT IDENTIFIER,
         *      counter OCTET STRING SIZE (4..4)
         *  }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(algorithm);
            v.add(counter);

            return(new DERSequence(v));
        }
Exemplo n.º 6
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(version);
            v.add(compressionAlgorithm);
            v.add(encapContentInfo);

            return(new BERSequence(v));
        }
Exemplo n.º 7
0
        /**
         * write out an RSA private key with it's asscociated information
         * as described in PKCS8.
         * <pre>
         *      PrivateKeyInfo ::= SEQUENCE {
         *                              version Version,
         *                              privateKeyAlgorithm AlgorithmIdentifier {{PrivateKeyAlgorithms}},
         *                              privateKey PrivateKey,
         *                              attributes [0] IMPLICIT Attributes OPTIONAL
         *                          }
         *      Version ::= INTEGER {v1(0)} (v1,...)
         *
         *      PrivateKey ::= OCTET STRING
         *
         *      Attributes ::= SET OF Attribute
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(new DERInteger(0));
            v.add(algId);
            v.add(new DEROctetString(privKey));

            return(new DERSequence(v));
        }
Exemplo n.º 8
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(digInfo);
            v.add(new DEROctetString(salt));
            v.add(new DERInteger(iterationCount));

            return(new DERSequence(v));
        }
Exemplo n.º 9
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         *  AttributeCertificate ::= SEQUENCE {
         *       acinfo               AttributeCertificateInfo,
         *       signatureAlgorithm   AlgorithmIdentifier,
         *       signatureValue       BIT STRING
         *  }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(acinfo);
            v.add(signatureAlgorithm);
            v.add(signatureValue);

            return(new DERSequence(v));
        }
Exemplo n.º 10
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(tbsCertList);
            v.add(sigAlgId);
            v.add(sig);

            return(new DERSequence(v));
        }
Exemplo n.º 11
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(p);
            v.add(q);
            v.add(g);

            return(new DERSequence(v));
        }
Exemplo n.º 12
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * KEKRecipientInfo ::= SEQUENCE {
         *     version CMSVersion,  -- always set to 4
         *     kekid KEKIdentifier,
         *     keyEncryptionAlgorithm KeyEncryptionAlgorithmIdentifier,
         *     encryptedKey EncryptedKey
         * }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(version);
            v.add(kekid);
            v.add(keyEncryptionAlgorithm);
            v.add(encryptedKey);

            return(new DERSequence(v));
        }
Exemplo n.º 13
0
        public void addCapability(
            DERObjectIdentifier capability,
            ASN1Encodable _params)
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(capability);
            v.add(_params);

            capabilities.add(new DERSequence(v));
        }
Exemplo n.º 14
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector accessDescription = new ASN1EncodableVector();

            accessDescription.add(accessMethod);
            accessDescription.add(accessLocation);
            ASN1EncodableVector vec = new ASN1EncodableVector();

            vec.add(new DERSequence(accessDescription));
            return(new DERSequence(vec));
        }
Exemplo n.º 15
0
        public void addCapability(
            DERObjectIdentifier capability,
            int value)
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(capability);
            v.add(new DERInteger(value));

            capabilities.add(new DERSequence(v));
        }
Exemplo n.º 16
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * CertID          ::=     SEQUENCE {
         *     hashAlgorithm       AlgorithmIdentifier,
         *     issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
         *     issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
         *     serialNumber        CertificateSerialNumber }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(hashAlgorithm);
            v.add(issuerNameHash);
            v.add(issuerKeyHash);
            v.add(serialNumber);

            return(new DERSequence(v));
        }
Exemplo n.º 17
0
        public override ASN1Object toASN1Object()
        {
            // Construct the CertificateRequest
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(reqInfo);
            v.add(sigAlgId);
            v.add(sigBits);

            return(new DERSequence(v));
        }
Exemplo n.º 18
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * RevokedInfo ::= SEQUENCE {
         *      revocationTime              GeneralizedTime,
         *      revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(revocationTime);
            if (revocationReason != null)
            {
                v.add(new DERTaggedObject(true, 0, revocationReason));
            }

            return(new DERSequence(v));
        }
Exemplo n.º 19
0
        /*
         * PolicyInformation ::= SEQUENCE {
         *      policyIdentifier   CertPolicyId,
         *      policyQualifiers   SEQUENCE SIZE (1..MAX) OF
         *              PolicyQualifierInfo OPTIONAL }
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(policyIdentifier);

            if (policyQualifiers != null)
            {
                v.add(policyQualifiers);
            }

            return(new DERSequence(v));
        }
Exemplo n.º 20
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * ContentInfo ::= SEQUENCE {
         *          contentType ContentType,
         *          content
         *          [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(contentType);

            if (content != null)
            {
                v.add(new BERTaggedObject(0, content));
            }

            return(new BERSequence(v));
        }
Exemplo n.º 21
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            if (version != null)
            {
                v.add(version);
            }

            v.add(iv);

            return(new DERSequence(v));
        }
Exemplo n.º 22
0
        public EncryptedData(
            DERObjectIdentifier contentType,
            AlgorithmIdentifier encryptionAlgorithm,
            ASN1Encodable content)
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(contentType);
            v.add(encryptionAlgorithm.toASN1Object());
            v.add(new BERTaggedObject(false, 0, content));

            data = new BERSequence(v);
        }
Exemplo n.º 23
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * Request         ::=     SEQUENCE {
         *     reqCert                     CertID,
         *     singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(reqCert);

            if (singleRequestExtensions != null)
            {
                v.add(new DERTaggedObject(true, 0, singleRequestExtensions));
            }

            return(new DERSequence(v));
        }
Exemplo n.º 24
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * OCSPRequest     ::=     SEQUENCE {
         *     tbsRequest                  TBSRequest,
         *     optionalSignature   [0]     EXPLICIT Signature OPTIONAL }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(tbsRequest);

            if (optionalSignature != null)
            {
                v.add(new DERTaggedObject(true, 0, optionalSignature));
            }

            return(new DERSequence(v));
        }
Exemplo n.º 25
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * ServiceLocator ::= SEQUENCE {
         *     issuer    Name,
         *     locator   AuthorityInfoAccessSyntax OPTIONAL }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(issuer);

            if (locator != null)
            {
                v.add(locator);
            }

            return(new DERSequence(v));
        }
Exemplo n.º 26
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         *      AlgorithmIdentifier ::= SEQUENCE {
         *                            algorithm OBJECT IDENTIFIER,
         *                            parameters ANY DEFINED BY algorithm OPTIONAL }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(objectId);

            if (parameters != null)
            {
                v.add(parameters);
            }

            return(new DERSequence(v));
        }
Exemplo n.º 27
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * BasicOCSPResponse       ::= SEQUENCE {
         *      tbsResponseData      ResponseData,
         *      signatureAlgorithm   AlgorithmIdentifier,
         *      signature            BIT STRING,
         *      certs                [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(tbsResponseData);
            v.add(signatureAlgorithm);
            v.add(signature);
            if (certs != null)
            {
                v.add(new DERTaggedObject(true, 0, certs));
            }

            return(new DERSequence(v));
        }
Exemplo n.º 28
0
        /**
         * Produce an object suitable for an ASN1OutputStream.
         * <pre>
         * EncryptedContentInfo ::= SEQUENCE {
         *     contentType ContentType,
         *     contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
         *     encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
         * }
         * </pre>
         */
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(contentType);
            v.add(contentEncryptionAlgorithm);

            if (encryptedContent != null)
            {
                v.add(new BERTaggedObject(false, 0, encryptedContent));
            }

            return(new BERSequence(v));
        }
Exemplo n.º 29
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(bagId);
            v.add(new DERTaggedObject(0, bagValue));

            if (bagAttributes != null)
            {
                v.add(bagAttributes);
            }

            return(new DERSequence(v));
        }
Exemplo n.º 30
0
        public override ASN1Object toASN1Object()
        {
            ASN1EncodableVector v = new ASN1EncodableVector();

            v.add(p);
            v.add(g);

            if (this.getL() != null)
            {
                v.add(l);
            }

            return(new DERSequence(v));
        }