package com.eucalyptus.auth.crypto;
import java.security.Key;
import java.security.KeyPair;
import java.security.PrivateKey;
import java.security.cert.X509Certificate;
import javax.security.auth.x500.X500Principal;
import com.eucalyptus.auth.Authentication;
/**
* Facade for generator methods providing asymmetric keys and certificates.
*
* @author decker
*/
public class Certs {
/**
* TODO: DOCUMENT Certs.java
*
* @param keys
* @param subjectDn
* @param signer
* @param signingKey
* @return
*/
public static X509Certificate generateCertificate( final KeyPair keys, final X500Principal subjectDn, final X500Principal signer, final PrivateKey signingKey ) {
return Authentication.getCertificateProvider( ).generateCertificate( keys, subjectDn, signer, signingKey );
}
/**
* TODO: DOCUMENT Certs.java
*
* @param keys
* @param subjectDn
* @return
*/
public static X509Certificate generateCertificate( final KeyPair keys, final X500Principal subjectDn ) {
return Authentication.getCertificateProvider( ).generateCertificate( keys, subjectDn );
}
/**
* TODO: DOCUMENT Certs.java
*
* @param keys
* @param userName
* @return
*/
public static X509Certificate generateCertificate( final KeyPair keys, final String userName ) {
return Authentication.getCertificateProvider( ).generateCertificate( keys, userName );
}
/**
* TODO: DOCUMENT Certs.java
*
* @return
*/
public static KeyPair generateKeyPair( ) {
return Authentication.getCertificateProvider( ).generateKeyPair( );
}
/**
* TODO: DOCUMENT Certs.java
*
* @param keys
* @param userName
* @return
*/
public static X509Certificate generateServiceCertificate( final KeyPair keys, final String userName ) {
return Authentication.getCertificateProvider( ).generateServiceCertificate( keys, userName );
}
public static String getFingerPrint( Key privKey ) {
return Authentication.getCertificateProvider( ).getFingerPrint( privKey );
}
}