Changeset 7752 for MashMyData


Ignore:
Timestamp:
26/11/10 15:08:30 (9 years ago)
Author:
pjkersha
Message:

Incomplete - task 19: MashMyData?: Java MyProxy? logon and init/store

  • Added generateKeyStore method to create a keystore containing the credential retrieved from MyProxy?. This is needed to make SSL calls to other services.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • MashMyData/trunk/MyProxyInterface/src/mashmydata/security/myproxy/MyProxyUtils.java

    r7742 r7752  
    1818package mashmydata.security.myproxy; 
    1919 
     20import java.io.IOException; 
    2021import java.net.MalformedURLException; 
    2122import java.net.URL; 
     23import java.security.KeyStore; 
     24import java.security.KeyStoreException; 
     25import java.security.NoSuchAlgorithmException; 
     26import java.security.NoSuchProviderException; 
     27import java.security.PrivateKey; 
     28import java.security.cert.CertificateException; 
     29import java.security.cert.X509Certificate; 
     30 
     31import javax.security.cert.Certificate; 
    2232 
    2333import org.globus.myproxy.InitParams; 
    2434import org.globus.myproxy.MyProxy; 
    2535import org.globus.myproxy.MyProxyException; 
     36//import org.ietf.jgss.GSSCredential; 
    2637import org.ietf.jgss.GSSCredential; 
    2738import org.ietf.jgss.GSSException; 
    28  
     39import org.ietf.jgss.GSSName; 
     40import org.ietf.jgss.Oid; 
     41 
     42import org.globus.gsi.gssapi.GlobusGSSCredentialImpl; 
    2943 
    3044public class MyProxyUtils { 
     
    134148        } 
    135149         
     150        public KeyStore generateKeyStore(final GSSCredential cred, 
     151                        final String certAlias)  
     152                throws KeyStoreException, NoSuchProviderException,  
     153                        NoSuchAlgorithmException, CertificateException, IOException { 
     154                 
     155                GlobusGSSCredentialImpl gCred = (GlobusGSSCredentialImpl) cred; 
     156                X509Certificate[] certChain = gCred.getCertificateChain(); 
     157                PrivateKey priKey = gCred.getPrivateKey(); 
     158                String keyPass = "test"; 
     159                 
     160        KeyStore ks = KeyStore.getInstance("JKS", "SUN"); 
     161        ks.load( null , keyPass.toCharArray()); 
     162 
     163        ks.setKeyEntry(certAlias,  
     164                                   priKey,  
     165                       keyPass.toCharArray(), 
     166                       certChain); 
     167         
     168        return ks; 
     169        } 
     170         
    136171        /** 
    137172         * TODO: Move this test stub to unit test 
    138173         *  
    139174         * @param args 
    140          * @throws MalformedURLException  
    141175         * @throws MyProxyException  
    142176         * @throws GSSException  
     177         * @throws IOException  
     178         * @throws CertificateException  
     179         * @throws NoSuchAlgorithmException  
     180         * @throws NoSuchProviderException  
     181         * @throws KeyStoreException  
    143182         */ 
    144183        public static void main(String[] args)  
    145                 throws MyProxyException, MalformedURLException, GSSException { 
     184                throws MyProxyException, GSSException, KeyStoreException,  
     185                        NoSuchProviderException, NoSuchAlgorithmException,  
     186                        CertificateException, IOException { 
    146187                 
    147188                String tlsName = args[0]; 
     
    155196                GSSCredential cred = myProxyUtils.translateCredentials( 
    156197                                                                                                                username, passphrase); 
     198                KeyStore ks = myProxyUtils.generateKeyStore(cred, "certAlias"); 
     199                java.security.cert.Certificate cert = ks.getCertificate("certAlias"); 
     200                System.out.printf("Cert = %s%n", cert.toString()); 
    157201                 
    158202                // Stage new delegated credential on second MyProxy Server 
Note: See TracChangeset for help on using the changeset viewer.