--- source-trees/wsrf-cvs/wsrf/java/core/source/src/org/globus/wsrf/container/GSIServiceThread.java 24 Jun 2005 16:24:40 -0000 1.5.2.4 +++ source-trees/wsrf-cvs/wsrf/java/core/source/src/org/globus/wsrf/container/GSIServiceThread.java 7 Nov 2005 17:40:57 -0000 @@ -37,6 +37,8 @@ import org.globus.util.I18n; +import java.security.cert.X509Certificate; + class GSIServiceThread extends ServiceThread { static Log logger = LogFactory.getLog(GSIServiceThread.class.getName()); private GSSCredential credentials; @@ -100,6 +102,16 @@ Subject subject = getSubject(); subject.getPrincipals().add(new GlobusPrincipal(globusID)); + if (context instanceof ExtendedGSSContext) { + ExtendedGSSContext extGss = (ExtendedGSSContext) context; + X509Certificate[] certs = + (X509Certificate[]) extGss + .inquireByOid(GSSConstants.X509_CERT_CHAIN); + if (certs != null) { + subject.getPublicCredentials().add(certs); + } + } + this.msgContext .setProperty(Constants.TRANSPORT_SECURITY_CONTEXT, context);