Package br.net.woodstock.rockframework.security.sign

Examples of br.net.woodstock.rockframework.security.sign.SignatureType


    Assert.notEmpty(data, "data");
    try {
      CMSSignedDataGenerator signedDataGenerator = new CMSSignedDataGenerator();
      TimeStampClient timeStampClient = this.parameters.getTimeStampClient();
      PKCS7SignatureMode mode = this.parameters.getSignatureMode();
      SignatureType signatureType = this.parameters.getSignatureType();

      if (signatureType == null) {
        signatureType = SignatureType.SHA1_RSA;
      }

      for (Identity identity : this.parameters.getIdentities()) {
        PrivateKey privateKey = identity.getPrivateKey();
        Certificate[] chain = identity.getChain();
        Certificate certificate = chain[0];

        JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder(signatureType.getAlgorithm());
        if (Conditions.isNotEmpty(this.parameters.getProvider())) {
          contentSignerBuilder.setProvider(this.parameters.getProvider());
        } else {
          contentSignerBuilder.setProvider(BouncyCastleProviderHelper.PROVIDER_NAME);
        }
View Full Code Here


    signatory.setSubject(subject);
    return signatory;
  }

  protected SignatureType getSignatureType(final String signatureAlgorithm) {
    SignatureType type = SignatureType.getSignType(signatureAlgorithm);
    if (type == null) {
      type = SignatureType.SHA1_RSA;
    }
    return type;
  }
View Full Code Here

    }
    return type;
  }

  protected DigestType getDigestTypeFromSignature(final String signatureAlgorithm) {
    SignatureType signatureType = this.getSignatureType(signatureAlgorithm);
    DigestType digestType = signatureType.getDigestType();
    return digestType;
  }
View Full Code Here

  // private static final String CN_FIELD = "CN";

  protected static final char  PDF_SIGNATURE_VERSION  = '\0';

  protected SignatureType getSignatureType(final String signatureAlgorithm) {
    SignatureType signType = SignatureType.getSignType(signatureAlgorithm);
    if (signType == null) {
      signType = SignatureType.SHA1_RSA;
    }
    return signType;
  }
View Full Code Here

    }
    return signType;
  }

  protected DigestType getDigestTypeFromSignature(final String signatureAlgorithm) {
    SignatureType signType = this.getSignatureType(signatureAlgorithm);
    DigestType digestType = signType.getDigestType();
    return digestType;
  }
View Full Code Here

  public PrivateKeyHolder build() {
    try {
      long time = System.currentTimeMillis();
      String subject = this.subject;
      KeyPair keyPair = this.keyPair;
      SignatureType signType = this.signType;
      String issuer = this.issuer;
      BigInteger serialNumber = this.serialNumber;
      Date notBefore = this.notBefore;
      Date notAfter = this.notAfter;

      X509Certificate certificate = null;
      PrivateKey privateKey = null;

      if (keyPair == null) {
        keyPair = KeyPairGenerator.getInstance(KeyPairType.RSA.getAlgorithm()).generateKeyPair();
      }

      if (signType == null) {
        signType = SignatureType.SHA1_RSA;
      }

      if (issuer == null) {
        issuer = subject;
      }

      if (serialNumber == null) {
        serialNumber = BigInteger.valueOf(time);
      }

      if (notBefore == null) {
        DateBuilder dateBuilder = new DateBuilder(time);
        dateBuilder.removeDays(1);
        notBefore = dateBuilder.getDate();
      }

      if (notAfter == null) {
        DateBuilder dateBuilder = new DateBuilder(time);
        dateBuilder.addYears(1);
        notAfter = dateBuilder.getDate();
      }

      if (this.v3) {
        JcaX509v3CertificateBuilder builder = new JcaX509v3CertificateBuilder(this.toX500Name(issuer), serialNumber, notBefore, notAfter, this.toX500Name(subject), keyPair.getPublic());

        JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder(signType.getAlgorithm());
        contentSignerBuilder.setProvider(BouncyCastleProviderHelper.PROVIDER_NAME);
        ContentSigner contentSigner = contentSignerBuilder.build(keyPair.getPrivate());

        if (this.keyUsage.size() > 0) {
          int usage = 0;
          for (KeyUsageType keyUsage : this.keyUsage) {
            usage = usage | this.toKeyUsage(keyUsage);
          }
          org.bouncycastle.asn1.x509.KeyUsage ku = new org.bouncycastle.asn1.x509.KeyUsage(usage);
          builder.addExtension(X509Extension.keyUsage, false, ku);
        }

        if (this.extendedKeyUsage.size() > 0) {
          Vector<DERObject> vector = new Vector<DERObject>();
          for (ExtendedKeyUsageType keyUsageType : this.extendedKeyUsage) {
            KeyPurposeId keyPurposeId = this.toExtendedKeyUsage(keyUsageType);
            if (keyPurposeId != null) {
              vector.add(keyPurposeId);
            }
          }
          if (vector.size() > 0) {
            org.bouncycastle.asn1.x509.ExtendedKeyUsage extendedKeyUsage = new org.bouncycastle.asn1.x509.ExtendedKeyUsage(vector);
            builder.addExtension(X509Extension.extendedKeyUsage, true, extendedKeyUsage);
          } else {
            org.bouncycastle.asn1.x509.ExtendedKeyUsage extendedKeyUsage = new org.bouncycastle.asn1.x509.ExtendedKeyUsage(KeyPurposeId.anyExtendedKeyUsage);
            builder.addExtension(X509Extension.extendedKeyUsage, false, extendedKeyUsage);
          }
        } else {
          org.bouncycastle.asn1.x509.ExtendedKeyUsage extendedKeyUsage = new org.bouncycastle.asn1.x509.ExtendedKeyUsage(KeyPurposeId.anyExtendedKeyUsage);
          builder.addExtension(X509Extension.extendedKeyUsage, false, extendedKeyUsage);
        }

        GeneralNames subjectAltName = new GeneralNames(new GeneralName(GeneralName.rfc822Name, subject));
        builder.addExtension(X509Extension.subjectAlternativeName, false, subjectAltName);

        SubjectKeyIdentifierStructure subjectKeyIdentifierStructure = new SubjectKeyIdentifierStructure(keyPair.getPublic());
        builder.addExtension(X509Extension.subjectKeyIdentifier, false, subjectKeyIdentifierStructure);

        X509CertificateHolder holder = builder.build(contentSigner);

        certificate = (X509Certificate) SecurityUtils.getCertificateFromFile(holder.getEncoded(), CertificateType.X509);
        privateKey = keyPair.getPrivate();
      } else {
        JcaX509v1CertificateBuilder builder = new JcaX509v1CertificateBuilder(this.toX500Name(issuer), serialNumber, notBefore, notAfter, this.toX500Name(subject), keyPair.getPublic());

        JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder(signType.getAlgorithm());
        contentSignerBuilder.setProvider(BouncyCastleProviderHelper.PROVIDER_NAME);
        ContentSigner contentSigner = contentSignerBuilder.build(keyPair.getPrivate());

        X509CertificateHolder holder = builder.build(contentSigner);
View Full Code Here

    Assert.notEmpty(data, "data");
    try {
      CMSSignedDataGenerator signedDataGenerator = new CMSSignedDataGenerator();
      TimeStampClient timeStampClient = this.parameters.getTimeStampClient();
      PKCS7SignatureMode mode = this.parameters.getSignatureMode();
      SignatureType signatureType = this.parameters.getSignatureType();

      if (signatureType == null) {
        signatureType = SignatureType.SHA1_RSA;
      }

      for (Alias alias : this.parameters.getAliases()) {
        PrivateKeyEntry privateKeyEntry = (PrivateKeyEntry) this.parameters.getStore().get(alias, StoreEntryType.PRIVATE_KEY);

        if (privateKeyEntry == null) {
          throw new SignerException("PrivateKey not found for alias '" + alias.getName() + "'");
        }

        PrivateKey privateKey = privateKeyEntry.getValue();
        Certificate[] chain = privateKeyEntry.getChain();
        Certificate certificate = chain[0];

        JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder(signatureType.getAlgorithm());
        if (ConditionUtils.isNotEmpty(this.parameters.getProvider())) {
          contentSignerBuilder.setProvider(this.parameters.getProvider());
        } else {
          contentSignerBuilder.setProvider(BouncyCastleProviderHelper.PROVIDER_NAME);
        }
View Full Code Here

  public PrivateKeyHolder build() {
    try {
      long time = System.currentTimeMillis();
      String subject = this.subject;
      KeyPair keyPair = this.keyPair;
      SignatureType signType = this.signType;
      String issuer = this.issuerName;
      BigInteger serialNumber = this.serialNumber;
      Date notBefore = this.notBefore;
      Date notAfter = this.notAfter;

      X509Certificate certificate = null;
      PrivateKey privateKey = null;

      if (keyPair == null) {
        keyPair = KeyPairGenerator.getInstance(KeyPairType.RSA.getAlgorithm()).generateKeyPair();
      }

      if (signType == null) {
        signType = SignatureType.SHA1_RSA;
      }

      if (issuer == null) {
        issuer = BouncyCastleCertificateBuilder.DEFAULT_ISSUER;
      }

      if (serialNumber == null) {
        serialNumber = BigInteger.valueOf(time);
      }

      if (notBefore == null) {
        DateBuilder dateBuilder = new DateBuilder(time);
        dateBuilder.removeDays(1);
        notBefore = dateBuilder.getDate();
      }

      if (notAfter == null) {
        DateBuilder dateBuilder = new DateBuilder(time);
        dateBuilder.addYears(1);
        notAfter = dateBuilder.getDate();
      }

      if (this.v3) {
        JcaX509v3CertificateBuilder builder = null;
        if (this.issuerCertificate != null) {
          builder = new JcaX509v3CertificateBuilder((X509Certificate) this.issuerCertificate, serialNumber, notBefore, notAfter, this.toX500Principal(subject), keyPair.getPublic());
        } else {
          builder = new JcaX509v3CertificateBuilder(this.toX500Name(issuer), serialNumber, notBefore, notAfter, this.toX500Name(subject), keyPair.getPublic());
        }

        JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder(signType.getAlgorithm());
        contentSignerBuilder.setProvider(BouncyCastleProviderHelper.PROVIDER_NAME);
        ContentSigner contentSigner = contentSignerBuilder.build(keyPair.getPrivate());

        if (this.keyUsage.size() > 0) {
          int usage = 0;
          for (KeyUsageType keyUsage : this.keyUsage) {
            usage = usage | this.toKeyUsage(keyUsage);
          }
          org.bouncycastle.asn1.x509.KeyUsage ku = new org.bouncycastle.asn1.x509.KeyUsage(usage);
          builder.addExtension(X509Extension.keyUsage, false, ku);
        }

        if (this.extendedKeyUsage.size() > 0) {
          Vector<DERObject> vector = new Vector<DERObject>();
          for (ExtendedKeyUsageType keyUsageType : this.extendedKeyUsage) {
            KeyPurposeId keyPurposeId = this.toExtendedKeyUsage(keyUsageType);
            if (keyPurposeId != null) {
              vector.add(keyPurposeId);
            }
          }
          if (vector.size() > 0) {
            org.bouncycastle.asn1.x509.ExtendedKeyUsage extendedKeyUsage = new org.bouncycastle.asn1.x509.ExtendedKeyUsage(vector);
            builder.addExtension(X509Extension.extendedKeyUsage, true, extendedKeyUsage);
          } else {
            org.bouncycastle.asn1.x509.ExtendedKeyUsage extendedKeyUsage = new org.bouncycastle.asn1.x509.ExtendedKeyUsage(KeyPurposeId.anyExtendedKeyUsage);
            builder.addExtension(X509Extension.extendedKeyUsage, false, extendedKeyUsage);
          }
        } else {
          org.bouncycastle.asn1.x509.ExtendedKeyUsage extendedKeyUsage = new org.bouncycastle.asn1.x509.ExtendedKeyUsage(KeyPurposeId.anyExtendedKeyUsage);
          builder.addExtension(X509Extension.extendedKeyUsage, false, extendedKeyUsage);
        }

        GeneralNames subjectAltName = new GeneralNames(new GeneralName(GeneralName.rfc822Name, subject));
        builder.addExtension(X509Extension.subjectAlternativeName, false, subjectAltName);

        SubjectKeyIdentifierStructure subjectKeyIdentifierStructure = new SubjectKeyIdentifierStructure(keyPair.getPublic());
        builder.addExtension(X509Extension.subjectKeyIdentifier, false, subjectKeyIdentifierStructure);

        X509CertificateHolder holder = builder.build(contentSigner);

        certificate = (X509Certificate) SecurityUtils.getCertificateFromFile(holder.getEncoded(), CertificateType.X509);
        privateKey = keyPair.getPrivate();
      } else {
        JcaX509v1CertificateBuilder builder = new JcaX509v1CertificateBuilder(this.toX500Name(issuer), serialNumber, notBefore, notAfter, this.toX500Name(subject), keyPair.getPublic());

        JcaContentSignerBuilder contentSignerBuilder = new JcaContentSignerBuilder(signType.getAlgorithm());
        contentSignerBuilder.setProvider(BouncyCastleProviderHelper.PROVIDER_NAME);
        ContentSigner contentSigner = contentSignerBuilder.build(keyPair.getPrivate());

        X509CertificateHolder holder = builder.build(contentSigner);
View Full Code Here

  public Signature[] getSignatures(final byte[] data) {
    throw new UnsupportedOperationException();
  }

  private String getDigestMethodName(final String name) {
    SignatureType signatureType = SignatureType.getSignType(name);
    DigestType digestType = signatureType.getDigestType();
    return digestType.getDigestMethod();
  }
View Full Code Here

    DigestType digestType = signatureType.getDigestType();
    return digestType.getDigestMethod();
  }

  private String getSignatureDigestName(final String name) {
    SignatureType signatureType = SignatureType.getSignType(name);
    return signatureType.getSignatureMethod();
  }
View Full Code Here

TOP

Related Classes of br.net.woodstock.rockframework.security.sign.SignatureType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.