[kepler-users] transfering proxy information between actors.

Jianwu Wang jianwu at sdsc.edu
Thu Feb 12 23:54:51 PST 2009


Hi ufuk,

    As far as I know, current GlobusJob actor was implemented long time 
ago and does not support Globus 4.2. Probably also for GridFTP. Sorry 
about the that.

    I'm working on new version of these actor. I'll let you know once I 
finish them.

Best wishes

Sincerely yours

Jianwu Wang
jianwu at sdsc.edu

Scientific Workflow Automation Technologies (SWAT) Laboratory
San Diego Supercomputer Center 
University of California, San Diego
San Diego, CA, U.S.A. 



turuncu at be.itu.edu.tr wrote:
> 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
>
>
>   



More information about the Kepler-users mailing list