Пример #1
0
  /**
   *
   *
   * <pre>
   *  RSAES-OAEP-params ::= SEQUENCE {
   *     hashAlgorithm      [0] OAEP-PSSDigestAlgorithms     DEFAULT sha1,
   *     maskGenAlgorithm   [1] PKCS1MGFAlgorithms  DEFAULT mgf1SHA1,
   *     pSourceAlgorithm   [2] PKCS1PSourceAlgorithms  DEFAULT pSpecifiedEmpty
   *   }
   *
   *   OAEP-PSSDigestAlgorithms    ALGORITHM-IDENTIFIER ::= {
   *     { OID id-sha1 PARAMETERS NULL   }|
   *     { OID id-sha256 PARAMETERS NULL }|
   *     { OID id-sha384 PARAMETERS NULL }|
   *     { OID id-sha512 PARAMETERS NULL },
   *     ...  -- Allows for future expansion --
   *   }
   *   PKCS1MGFAlgorithms    ALGORITHM-IDENTIFIER ::= {
   *     { OID id-mgf1 PARAMETERS OAEP-PSSDigestAlgorithms },
   *    ...  -- Allows for future expansion --
   *   }
   *   PKCS1PSourceAlgorithms    ALGORITHM-IDENTIFIER ::= {
   *     { OID id-pSpecified PARAMETERS OCTET STRING },
   *     ...  -- Allows for future expansion --
   *  }
   * </pre>
   *
   * @return the asn1 primitive representing the parameters.
   */
  public ASN1Primitive toASN1Primitive() {
    ASN1EncodableVector v = new ASN1EncodableVector();

    if (!hashAlgorithm.equals(DEFAULT_HASH_ALGORITHM)) {
      v.add(new DERTaggedObject(true, 0, hashAlgorithm));
    }

    if (!maskGenAlgorithm.equals(DEFAULT_MASK_GEN_FUNCTION)) {
      v.add(new DERTaggedObject(true, 1, maskGenAlgorithm));
    }

    if (!pSourceAlgorithm.equals(DEFAULT_P_SOURCE_ALGORITHM)) {
      v.add(new DERTaggedObject(true, 2, pSourceAlgorithm));
    }

    return new DERSequence(v);
  }