[kepler-users] transfering proxy information between actors.

turuncu at be.itu.edu.tr turuncu at be.itu.edu.tr
Thu Feb 12 20:08:01 PST 2009


Hi,

I try to transfer proxy information from custom MyProxy actor to GridFTP
and GlobusJob actors but it gives error. I done following tests,

1 - I modify GridFTP actor to get proxy information directly from MyProxy
file (such as, /tmp/x509up_u501) and it is working successfully. So, it is
possible to use MyProxy credential with Kepler grid actors. I just only
add "getGSSCredential " method (which is return GSSCredential info) and
modify code as follows;

			//ExtendedGSSManager manager = (ExtendedGSSManager) ExtendedGSSManager
			//		.getInstance();
			//_proxy = manager.createCredential((token.toString()).getBytes(),
			//		ExtendedGSSCredential.IMPEXP_OPAQUE,
			//		GSSCredential.DEFAULT_LIFETIME, null, // use default
			//												// mechanism - GSI
			//		GSSCredential.INITIATE_AND_ACCEPT);
			_proxy = getGSSCredential("/tmp/x509up_u501");

2 - I also test to modify output of custom MyProxy actor to send proxy
info as String data type which is compatible with current version of
GridFTP and GlobusJob actors (i don't want to modify current Kepler grid
actors),

       // read myproxy file
    	File inFile = new File(filename);
    	byte [] data = new byte[(int)inFile.length()];

    	FileInputStream inStream = null;
    	try {
    		inStream = new FileInputStream(inFile);
    		inStream.read(data);
    		inStream.close();
    	} catch (FileNotFoundException e) {
    		e.printStackTrace();
    	} catch (IOException e) {
    		e.printStackTrace();
    	}

    	ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
    	try {
		byteStream.write(data);
	} catch (IOException e) {
		e.printStackTrace();
	}
    	output.send(0, new StringToken(byteStream.toString()));

but GridFTP actor gives following error,

....
Caused by: ptolemy.kernel.util.IllegalActionException: GridFTP transfer
failed because of: GSSException: Defective credential detected [Caused by:
Failed to load credentials. [Caused by: PEM footer missing]]
	at org.nmiworkflow.GridFTP.fire(GridFTP.java:212)
....

It must be work but the information lost between conversion and transfer.
I also try to add encoding information in both side to ensure that problem
is not related with encoding problem and the result is same.

3 - I also try to generate proxy info with ProxyInitTool but the result is
same.

So, i will use the newer version of cog-jglobus api, jce-jdk and cryptix
in my new suite. Is problem realted with that. If i use the same version
with Kepler grid actors i get,

ptolemy.kernel.util.IllegalActionException:   in .01-teragrid-myproxy.manager
Because:
org.bouncycastle.jce.PKCS10CertificationRequest.<init>(Ljava/lang/String;Lorg/bouncycastle/asn1/x509/X509Name;Ljava/security/PublicKey;Lorg/bouncycastle/asn1/DERConstructedSet;Ljava/security/PrivateKey;Ljava/lang/String;)V
	at ptolemy.actor.Manager.execute(Manager.java:465)
	at ptolemy.actor.Manager.run(Manager.java:1147)
	at ptolemy.actor.Manager$3.run(Manager.java:1188)
Caused by: java.lang.NoSuchMethodError:
org.bouncycastle.jce.PKCS10CertificationRequest.<init>(Ljava/lang/String;Lorg/bouncycastle/asn1/x509/X509Name;Ljava/security/PublicKey;Lorg/bouncycastle/asn1/DERConstructedSet;Ljava/security/PrivateKey;Ljava/lang/String;)V
	at
org.earth.actors.globus.MyProxyLogon.getCredentials(MyProxyLogon.java:621)
	at org.earth.actors.globus.GlobusMyProxy.fire(GlobusMyProxy.java:196)
	at ptolemy.actor.AtomicActor.iterate(AtomicActor.java:434)
	at
ptolemy.actor.sched.StaticSchedulingDirector.fire(StaticSchedulingDirector.java:188)
	at ptolemy.actor.CompositeActor.fire(CompositeActor.java:417)
	at ptolemy.actor.Manager.iterate(Manager.java:725)
	at ptolemy.actor.Manager.execute(Manager.java:349)
	... 2 more

error messages which is related with incompatibilities of the libraries.
Any comments will be helpful to solve the problem.

Thanks,

--ufuk


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.




More information about the Kepler-users mailing list