package org.cagrid.gts.service.impl;
import java.security.cert.X509CRL;
import java.security.cert.X509Certificate;
import junit.framework.TestCase;
import org.bouncycastle.asn1.x509.CRLReason;
import org.cagrid.gaards.pki.CRLEntry;
import org.cagrid.gaards.pki.KeyUtil;
import org.cagrid.gaards.pki.ProxyCreator;
import org.cagrid.gts.service.impl.test.CA;
import org.cagrid.gts.service.impl.test.Credential;
/**
* @author <A href="mailto:langella@bmi.osu.edu">Stephen Langella </A>
* @author <A href="mailto:oster@bmi.osu.edu">Scott Oster </A>
* @author <A href="mailto:hastings@bmi.osu.edu">Shannon Hastings </A>
* @version $Id: ArgumentManagerTable.java,v 1.2 2004/10/15 16:35:16 langella Exp $
*/
public class TestProxyPathValidator extends TestCase {
public void testProxyValidator() {
}
// TODO: MIGRATE: implement?
// public void testProxyValidator() {
// try {
// CA caX = new CA();
// CA caY = new CA();
// String userA = "User A";
// String userB = "User B";
// Credential credX1 = caX.createIdentityCertificate(userA);
// Credential credX2 = caX.createIdentityCertificate(userB);
// Credential credY1 = caY.createIdentityCertificate(userA);
//
// CRLEntry credX2CRL = new CRLEntry(credX2.getCertificate().getSerialNumber(), CRLReason.PRIVILEGE_WITHDRAWN);
// caX.updateCRL(credX2CRL);
//
// ProxyPathValidator valid = new ProxyPathValidator();
//
// X509Certificate[] trusted1 = new X509Certificate[1];
// trusted1[0] = caX.getCertificate();
//
// X509CRL[] crls = new X509CRL[1];
// crls[0] = caX.getCRL();
// CertificateRevocationLists rev = CertificateRevocationLists.getCertificateRevocationLists(crls);
//
// X509Certificate[] chainX1 = new X509Certificate[1];
// chainX1[0] = credX1.getCertificate();
//
//
// valid.validate(chainX1, trusted1, rev);
//
// try {
// X509Certificate[] chainX2 = new X509Certificate[1];
// chainX2[0] = credX2.getCertificate();
// valid.validate(chainX2, trusted1, rev);
// fail("Should not be able to validate certificate!!!");
// } catch (ProxyPathValidatorException ex) {
//
// }
//
// try {
// X509Certificate[] chainY1 = new X509Certificate[1];
// chainY1[0] = credY1.getCertificate();
// valid.validate(chainY1, trusted1, rev);
// fail("Should not be able to validate certificate!!!");
// } catch (ProxyPathValidatorException ex) {
//
// }
//
// X509Certificate[] proxyChainX1 = ProxyCreator.createImpersonationProxyCertificate(credX1.getCertificate(),
// credX1.getPrivateKey(), KeyUtil.generateRSAKeyPair512().getPublic(), 12, 0, 0);
// valid.validate(proxyChainX1, trusted1, rev);
//
// try {
// X509Certificate[] proxyChainX2 = ProxyCreator.createImpersonationProxyCertificate(credX2
// .getCertificate(), credX2.getPrivateKey(), KeyUtil.generateRSAKeyPair512().getPublic(), 12, 0, 0);
// valid.validate(proxyChainX2, trusted1, rev);
// fail("Should not be able to validate certificate!!!");
// } catch (ProxyPathValidatorException ex) {
//
// }
//
// try {
// X509Certificate[] proxyChainY1 = ProxyCreator.createImpersonationProxyCertificate(credY1
// .getCertificate(), credY1.getPrivateKey(), KeyUtil.generateRSAKeyPair512().getPublic(), 12, 0, 0);
// valid.validate(proxyChainY1, trusted1, rev);
// fail("Should not be able to validate certificate!!!");
// } catch (ProxyPathValidatorException ex) {
//
// }
//
// } catch (Exception e) {
// e.printStackTrace();
// fail(e.getMessage());
// }
// }
}