Package org.apache.xml.security.test.algorithms

Source Code of org.apache.xml.security.test.algorithms.SignatureAlgorithmTest

/*
* Copyright 2009-2010 The Apache Software Foundation.
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*      http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*
*/
package org.apache.xml.security.test.algorithms;

import java.security.KeyPairGenerator;
import java.security.PrivateKey;

import javax.xml.parsers.DocumentBuilderFactory;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

import org.apache.xml.security.algorithms.SignatureAlgorithm;
import org.apache.xml.security.exceptions.XMLSecurityException;
import org.apache.xml.security.signature.XMLSignature;
import org.w3c.dom.Document;

public class SignatureAlgorithmTest extends TestCase {
   
    /** {@link org.apache.commons.logging} logging facility */
    static org.apache.commons.logging.Log log =
        org.apache.commons.logging.LogFactory.getLog(SignatureAlgorithmTest.class.getName());

  static {
      org.apache.xml.security.Init.init();
  }

  public void testSameKeySeveralAlgorithmSigning() throws Exception {
    Document doc=DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
    SignatureAlgorithm signatureAlgorithm = new SignatureAlgorithm(doc,XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1);
    PrivateKey pk=KeyPairGenerator.getInstance("RSA").genKeyPair().getPrivate();
    signatureAlgorithm.initSign(pk);
    signatureAlgorithm.update((byte)2);
    signatureAlgorithm.sign();
    SignatureAlgorithm otherSignatureAlgorithm =
             new SignatureAlgorithm(doc, XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256);

    try {
        otherSignatureAlgorithm.initSign(pk);
    } catch (XMLSecurityException ex) {
            log.warn("Test testSameKeySeveralAlgorithmSigning skipped as necessary algorithms not available");
            return;
        }
       
    otherSignatureAlgorithm.update((byte)2);
    otherSignatureAlgorithm.sign();
  }
  public static Test suite() {
    return new TestSuite(SignatureAlgorithmTest.class);
  }
}
TOP

Related Classes of org.apache.xml.security.test.algorithms.SignatureAlgorithmTest

TOP
Copyright © 2018 www.massapi.com. 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.