<!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 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__proxy__operations.html',''); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">Proxy Operations</div> </div> </div> <div class="contents"> <p>Initiate a proxy operation. <a href="#details">More...</a></p> <h2><a name="member-group"></a> Create Request</h2> <ul> <li>globus_result_t <a class="el" href="group__globus__gsi__proxy__operations.html#ga13d7b56dfad15b46d94ad2a16a0bdcf9">globus_gsi_proxy_create_req</a> (<a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> handle, BIO *output_bio) </ul> <h2><a name="member-group"></a> Inquire Request</h2> <ul> <li>globus_result_t <a class="el" href="group__globus__gsi__proxy__operations.html#ga1fca5bdf377f11ceae4c0e1f09b19cdc">globus_gsi_proxy_inquire_req</a> (<a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> handle, BIO *input_bio) </ul> <h2><a name="member-group"></a> Resign Certificate</h2> <ul> <li>globus_result_t <a class="el" href="group__globus__gsi__proxy__operations.html#ga21995d2c37fe7be638166c481ac9e86a">globus_gsi_proxy_resign_cert</a> (<a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> handle, globus_gsi_cred_handle_t issuer_credential, globus_gsi_cred_handle_t peer_credential, globus_gsi_cred_handle_t *resigned_credential) </ul> <h2><a name="member-group"></a> Sign Request</h2> <ul> <li>globus_result_t <a class="el" href="group__globus__gsi__proxy__operations.html#gaefd67de5a1b2f376ab26fec1050facea">globus_gsi_proxy_sign_req</a> (<a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> handle, globus_gsi_cred_handle_t issuer_credential, BIO *output_bio) </ul> <h2><a name="member-group"></a> Create Signed</h2> <ul> <li>globus_result_t <a class="el" href="group__globus__gsi__proxy__operations.html#ga68bffd1373a58ae04917c92b18b90891">globus_gsi_proxy_create_signed</a> (<a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> handle, globus_gsi_cred_handle_t issuer, globus_gsi_cred_handle_t *proxy_credential) </ul> <h2><a name="member-group"></a> Assemble credential</h2> <ul> <li>globus_result_t <a class="el" href="group__globus__gsi__proxy__operations.html#ga093d311f0567ecf39f0bc585e72f05f6">globus_gsi_proxy_assemble_cred</a> (<a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> handle, globus_gsi_cred_handle_t *proxy_credential, BIO *input_bio) </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <p>Initiate a proxy operation. </p> <p>This module contains the API functions for a user to request proxy request generation, proxy request inspection and proxy request signature. </p> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga13d7b56dfad15b46d94ad2a16a0bdcf9"></a><!-- doxytag: member="globus_gsi_proxy.c::globus_gsi_proxy_create_req" ref="ga13d7b56dfad15b46d94ad2a16a0bdcf9" args="(globus_gsi_proxy_handle_t handle, BIO *output_bio)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">globus_result_t globus_gsi_proxy_create_req </td> <td>(</td> <td class="paramtype"><a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> </td> <td class="paramname"><em>handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">BIO * </td> <td class="paramname"><em>output_bio</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a proxy credential request. </p> <p>This function creates a proxy credential request, ie. a unsigned certificate and the corresponding private key, based on the handle that is passed in. The public part of the request is written to the BIO supplied in the output_bio parameter. After the request is written, the PROXYCERTINFO extension contained in the handle is written to the BIO. The proxy handle is updated with the private key.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">handle</td><td>A GSI Proxy handle to use for the request operation. </td></tr> <tr><td class="paramname">output_bio</td><td>A BIO to write the resulting request structure to. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned </dd></dl> </div> </div> <a class="anchor" id="ga1fca5bdf377f11ceae4c0e1f09b19cdc"></a><!-- doxytag: member="globus_gsi_proxy.c::globus_gsi_proxy_inquire_req" ref="ga1fca5bdf377f11ceae4c0e1f09b19cdc" args="(globus_gsi_proxy_handle_t handle, BIO *input_bio)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">globus_result_t globus_gsi_proxy_inquire_req </td> <td>(</td> <td class="paramtype"><a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> </td> <td class="paramname"><em>handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">BIO * </td> <td class="paramname"><em>input_bio</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Inquire a proxy credential request. </p> <p>This function reads the public part of a proxy credential request from input_bio and if the request contains a ProxyCertInfo extension, updates the handle with the information contained in the extension.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">handle</td><td>A GSI Proxy handle to use for the inquire operation. </td></tr> <tr><td class="paramname">input_bio</td><td>A BIO to read a request structure from. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned </dd></dl> </div> </div> <a class="anchor" id="ga21995d2c37fe7be638166c481ac9e86a"></a><!-- doxytag: member="globus_gsi_proxy.c::globus_gsi_proxy_resign_cert" ref="ga21995d2c37fe7be638166c481ac9e86a" args="(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, globus_gsi_cred_handle_t peer_credential, globus_gsi_cred_handle_t *resigned_credential)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">globus_result_t globus_gsi_proxy_resign_cert </td> <td>(</td> <td class="paramtype"><a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> </td> <td class="paramname"><em>handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">globus_gsi_cred_handle_t </td> <td class="paramname"><em>issuer_credential</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">globus_gsi_cred_handle_t </td> <td class="paramname"><em>peer_credential</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">globus_gsi_cred_handle_t * </td> <td class="paramname"><em>resigned_credential</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Resign a existing certificate into a proxy. </p> <p>This function use the public key in a existing certificate to create a new proxy certificate chained to the issuers credentials. This operation will add a ProxyCertInfo extension to the proxy certificate if values contained in the extension are specified in the handle.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">handle</td><td>A GSI Proxy handle to use for the signing operation. </td></tr> <tr><td class="paramname">issuer_credential</td><td>The credential structure to be used for signing the proxy certificate. </td></tr> <tr><td class="paramname">peer_credential</td><td>The credential structure that contains the certificate to be resigned. </td></tr> <tr><td class="paramname">resigned_credential</td><td>A credential structure that upon return will contain the resigned certificate and associated certificate chain. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned </dd></dl> </div> </div> <a class="anchor" id="gaefd67de5a1b2f376ab26fec1050facea"></a><!-- doxytag: member="globus_gsi_proxy.c::globus_gsi_proxy_sign_req" ref="gaefd67de5a1b2f376ab26fec1050facea" args="(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer_credential, BIO *output_bio)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">globus_result_t globus_gsi_proxy_sign_req </td> <td>(</td> <td class="paramtype"><a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> </td> <td class="paramname"><em>handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">globus_gsi_cred_handle_t </td> <td class="paramname"><em>issuer_credential</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">BIO * </td> <td class="paramname"><em>output_bio</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Sign a proxy certificate request. </p> <p>This function signs the public part of a proxy credential request, i.e. the unsigned certificate, previously read by inquire req using the supplied issuer_credential. This operation will add a ProxyCertInfo extension to the proxy certificate if values contained in the extension are specified in the handle. The resulting signed certificate is written to the output_bio.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">handle</td><td>A GSI Proxy handle to use for the signing operation. </td></tr> <tr><td class="paramname">issuer_credential</td><td>The credential structure to be used for signing the proxy certificate. </td></tr> <tr><td class="paramname">output_bio</td><td>A BIO to write the resulting certificate to. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS unless an error occurred, in which case, a globus error object ID is returned </dd></dl> </div> </div> <a class="anchor" id="ga68bffd1373a58ae04917c92b18b90891"></a><!-- doxytag: member="globus_gsi_proxy.c::globus_gsi_proxy_create_signed" ref="ga68bffd1373a58ae04917c92b18b90891" args="(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t issuer, globus_gsi_cred_handle_t *proxy_credential)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">globus_result_t globus_gsi_proxy_create_signed </td> <td>(</td> <td class="paramtype"><a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> </td> <td class="paramname"><em>handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">globus_gsi_cred_handle_t </td> <td class="paramname"><em>issuer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">globus_gsi_cred_handle_t * </td> <td class="paramname"><em>proxy_credential</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create Signed Proxy Certificate. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">handle</td><td>The proxy handle used to create and sign the proxy certificate </td></tr> <tr><td class="paramname">issuer</td><td>The issuing credential, used for signing the proxy certificate </td></tr> <tr><td class="paramname">proxy_credential</td><td>The new proxy credential, containing the signed cert, private key, etc.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS if no error occurred, an error object ID otherwise </dd></dl> </div> </div> <a class="anchor" id="ga093d311f0567ecf39f0bc585e72f05f6"></a><!-- doxytag: member="globus_gsi_proxy.c::globus_gsi_proxy_assemble_cred" ref="ga093d311f0567ecf39f0bc585e72f05f6" args="(globus_gsi_proxy_handle_t handle, globus_gsi_cred_handle_t *proxy_credential, BIO *input_bio)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">globus_result_t globus_gsi_proxy_assemble_cred </td> <td>(</td> <td class="paramtype"><a class="el" href="group__globus__gsi__proxy__handle.html#ga8aa60a8f880c91bae12994052ceeafc4">globus_gsi_proxy_handle_t</a> </td> <td class="paramname"><em>handle</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">globus_gsi_cred_handle_t * </td> <td class="paramname"><em>proxy_credential</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">BIO * </td> <td class="paramname"><em>input_bio</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Assemble a proxy credential. </p> <p>This function assembles a proxy credential. It reads a signed proxy certificate and a associated certificate chain from the input_bio and combines them with a private key previously generated by a call to globus_gsi_proxy_create_req. The resulting credential is then returned through the proxy_credential parameter.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">handle</td><td>A GSI Proxy handle to use for the assemble operation. </td></tr> <tr><td class="paramname">proxy_credential</td><td>This parameter will contain the assembled credential upon successful return. </td></tr> <tr><td class="paramname">input_bio</td><td>A BIO to read a signed certificate and corresponding certificate chain from. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>GLOBUS_SUCCESS if no error occurred, an error object ID otherwise </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>