Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > e685180d168a55bb357b77823814acf0 > files > 25

globus-gsi-credential-doc-5.3-1.fc15.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!-- THIS FILE IS AUTOMATICALLY GENERATED FROM THE GLOBUS SOURCE CODE
     DO NOT MODIFY.
-->
<title>Globus Reference Manual</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__globus__gsi__cred__operations.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Credential Operations</div>  </div>
</div>
<div class="contents">

<p>Read/Write a GSI Credential Handle.  
<a href="#details">More...</a></p>
<h2><a name="member-group"></a>
Read Credential</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#gae68264066fc33c55f80e95600f1a56b9">globus_gsi_cred_read</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, X509_NAME *desired_subject)
</ul>
<h2><a name="member-group"></a>
Reading Proxy Credentials</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#gaad667d3c40c4543f8ce9f8777ac500c8">globus_gsi_cred_read_proxy</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, const char *proxy_filename)
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#ga0d70fbca7546608fe8192d0dca1fdfdb">globus_gsi_cred_read_proxy_bio</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, BIO *bio)
</ul>
<h2><a name="member-group"></a>
Read Key</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#ga51e8e3f4e7cbc2c6055630fad4068eed">globus_gsi_cred_read_key</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, char *key_filename, int(*pw_cb)())
</ul>
<h2><a name="member-group"></a>
Read Cert and chain from file</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#ga65d40852c8f9b7bc0d5026414555a085">globus_gsi_cred_read_cert</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, char *cert_filename)
</ul>
<h2><a name="member-group"></a>
Read Cert and chain from BIO stream</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#ga4f499b879f60ec07c81a0b30d8aca8ee">globus_gsi_cred_read_cert_bio</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, BIO *bio)
</ul>
<h2><a name="member-group"></a>
Read Cert &amp; Key in PKCS12 Format</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#ga1f00507c2dcfc78d05d0c40a9a725bf7">globus_gsi_cred_read_pkcs12</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, char *pkcs12_filename)
</ul>
<h2><a name="member-group"></a>
Write Credential</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#gaaa2d871767f0aaa28d49d7ffb629413d">globus_gsi_cred_write</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, BIO *bio)
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#ga5bbdcb80d65d9d22bf61e6655d6e1777">globus_gsi_cred_write_proxy</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, char *proxy_filename)
</ul>
<h2><a name="member-group"></a>
Get the X509 certificate type (EEC, CA, proxy type, etc.)</h2>
<ul>
<li>globus_result_t <a class="el" href="group__globus__gsi__cred__operations.html#ga89c4676daf89a7075d8f939854f4afb6">globus_gsi_cred_get_cert_type</a> (<a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a> handle, globus_gsi_cert_utils_cert_type_t *type)
</ul>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Read/Write a GSI Credential Handle. </p>
<p>This section defines operations to read and write GSI Credential handles. </p>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gae68264066fc33c55f80e95600f1a56b9"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_read" ref="gae68264066fc33c55f80e95600f1a56b9" args="(globus_gsi_cred_handle_t handle, X509_NAME *desired_subject)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">X509_NAME *&#160;</td>
          <td class="paramname"><em>desired_subject</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a Credential from a filesystem location. </p>
<p>The credential to read will be determined by the search order specified in the handle attributes. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>The credential handle to set. This credential handle should already be initialized using globus_gsi_cred_handle_init. </td></tr>
    <tr><td class="paramname">desired_subject</td><td>The subject to check for when reading in a credential. The desired_subject should be either a exact match of the read cert's subject or should just contain the /CN entry. If null, the credential read in is the first match based on the system configuration (paths and environment variables) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS if no errors occured, otherwise, an error object identifier is returned.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__globus__gsi__cred__operations.html#gaad667d3c40c4543f8ce9f8777ac500c8" title="Read a proxy from a PEM file.">globus_gsi_cred_read_proxy()</a> </dd>
<dd>
globus_gsi_cred_read_cert_and_key()</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This function always searches for the desired credential. If you don't want to perform a search, then don't use this function. The search goes in the order of the handle attributes' search order. </dd></dl>

</div>
</div>
<a class="anchor" id="gaad667d3c40c4543f8ce9f8777ac500c8"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_read_proxy" ref="gaad667d3c40c4543f8ce9f8777ac500c8" args="(globus_gsi_cred_handle_t handle, const char *proxy_filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_read_proxy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>proxy_filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a proxy from a PEM file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>The credential handle to set based on the proxy credential read from the file </td></tr>
    <tr><td class="paramname">proxy_filename</td><td>The file containing the proxy credential</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS or an error object identifier </dd></dl>

</div>
</div>
<a class="anchor" id="ga0d70fbca7546608fe8192d0dca1fdfdb"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_read_proxy_bio" ref="ga0d70fbca7546608fe8192d0dca1fdfdb" args="(globus_gsi_cred_handle_t handle, BIO *bio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_read_proxy_bio </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BIO *&#160;</td>
          <td class="paramname"><em>bio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a Proxy Credential from a BIO stream and set the credential handle to represent the read credential. </p>
<p>The values read from the stream, in order, will be the signed certificate, the private key, and the certificate chain</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>The credential handle to set. The credential should handle be initialized (i.e. not NULL). </td></tr>
    <tr><td class="paramname">bio</td><td>The stream to read the credential from</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS unless an error occurred, in which case an error object is returned </dd></dl>

</div>
</div>
<a class="anchor" id="ga51e8e3f4e7cbc2c6055630fad4068eed"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_read_key" ref="ga51e8e3f4e7cbc2c6055630fad4068eed" args="(globus_gsi_cred_handle_t handle, char *key_filename, int(*pw_cb)())" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_read_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>key_filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)()&#160;</td>
          <td class="paramname"><em>pw_cb</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a key from a PEM file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>the handle to set based on the key that is read </td></tr>
    <tr><td class="paramname">key_filename</td><td>the filename of the key to read </td></tr>
    <tr><td class="paramname">pw_cb</td><td>the callback for obtaining a password for decrypting the key.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS or an error object identifier </dd></dl>

</div>
</div>
<a class="anchor" id="ga65d40852c8f9b7bc0d5026414555a085"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_read_cert" ref="ga65d40852c8f9b7bc0d5026414555a085" args="(globus_gsi_cred_handle_t handle, char *cert_filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_read_cert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>cert_filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a cert from a file. </p>
<p>Cert should be in PEM format. Will also read additional certificates as chain if present.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>the handle to set based on the certificate that is read </td></tr>
    <tr><td class="paramname">cert_filename</td><td>the filename of the certificate to read</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS or an error object identifier </dd></dl>

</div>
</div>
<a class="anchor" id="ga4f499b879f60ec07c81a0b30d8aca8ee"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_read_cert_bio" ref="ga4f499b879f60ec07c81a0b30d8aca8ee" args="(globus_gsi_cred_handle_t handle, BIO *bio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_read_cert_bio </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BIO *&#160;</td>
          <td class="paramname"><em>bio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a cert from a BIO. </p>
<p>Cert should be in PEM format. Will also read additional certificates as chain if present.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>the handle to set based on the certificate that is read </td></tr>
    <tr><td class="paramname">bio</td><td>the bio to read the certificate from</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS or an error object identifier </dd></dl>

</div>
</div>
<a class="anchor" id="ga1f00507c2dcfc78d05d0c40a9a725bf7"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_read_pkcs12" ref="ga1f00507c2dcfc78d05d0c40a9a725bf7" args="(globus_gsi_cred_handle_t handle, char *pkcs12_filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_read_pkcs12 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pkcs12_filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read a cert &amp; key from a file. </p>
<p>The file should be in PKCS12 format.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>the handle to populate with the read credential </td></tr>
    <tr><td class="paramname">pkcs12_filename</td><td>the filename containing the credential to read</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS or an error object identifier </dd></dl>

</div>
</div>
<a class="anchor" id="gaaa2d871767f0aaa28d49d7ffb629413d"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_write" ref="gaaa2d871767f0aaa28d49d7ffb629413d" args="(globus_gsi_cred_handle_t handle, BIO *bio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">BIO *&#160;</td>
          <td class="paramname"><em>bio</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write out a credential to a BIO. </p>
<p>The credential parameters written, in order, are the signed certificate, the RSA private key, and the certificate chain (a set of X509 certificates). the credential is written out in PEM format.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>The credential to write out </td></tr>
    <tr><td class="paramname">bio</td><td>The BIO stream to write out to </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS unless an error occurred, in which case an error object ID is returned. </dd></dl>

</div>
</div>
<a class="anchor" id="ga5bbdcb80d65d9d22bf61e6655d6e1777"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_write_proxy" ref="ga5bbdcb80d65d9d22bf61e6655d6e1777" args="(globus_gsi_cred_handle_t handle, char *proxy_filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_write_proxy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>proxy_filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write out a credential to a file. </p>
<p>The credential parameters written, in order, are the signed certificate, the RSA private key, and the certificate chain (a set of X509 certificates). the credential is written out in PEM format.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>The credential to write out </td></tr>
    <tr><td class="paramname">proxy_filename</td><td>The file to write out to </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS unless an error occurred, in which case an error object ID is returned. </dd></dl>

</div>
</div>
<a class="anchor" id="ga89c4676daf89a7075d8f939854f4afb6"></a><!-- doxytag: member="globus_gsi_credential.c::globus_gsi_cred_get_cert_type" ref="ga89c4676daf89a7075d8f939854f4afb6" args="(globus_gsi_cred_handle_t handle, globus_gsi_cert_utils_cert_type_t *type)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">globus_result_t globus_gsi_cred_get_cert_type </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__globus__gsi__cred__handle.html#gab2702f6c6cea4d59ecea6835f184477b">globus_gsi_cred_handle_t</a>&#160;</td>
          <td class="paramname"><em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">globus_gsi_cert_utils_cert_type_t *&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Determine the type of the given X509 certificate For the list of possible values returned, see globus_gsi_cert_utils_cert_type_t. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">handle</td><td>The credential handle containing the certificate </td></tr>
    <tr><td class="paramname">type</td><td>The returned X509 certificate type</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS or an error captured in a globus_result_t </dd></dl>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
<hr>
<p align="center">
<a href="http://www.globus.org/toolkit/about.html" target="_top">about globus</a> |
<a href="http://www.globus.org/toolkit/" target="_top">globus toolkit</a> |
<a href="https://dev.globus.org/wiki/Welcome/" target="_top">dev.globus</a>
<br>
<br>
Comments? <a href="mailto:webmaster@globus.org">webmaster@globus.org</a>

</body>
</html>