1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>pam_pkcs11: pkcs11_lib.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="annotated.html"><span>Data Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li><a href="dirs.html"><span>Directories</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="navpath"><a class="el" href="dir_55f9682142a78e45196901be32452b47.html">src</a> » <a class="el" href="dir_782c1fcd7529e1a05f3f2af490691324.html">common</a>
</div>
</div>
<div class="contents">
<h1>pkcs11_lib.h</h1><a href="pkcs11__lib_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> * PKCS #11 PAM Login Module</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 2003 Mario Strasser <mast@gmx.net>,</span>
<a name="l00004"></a>00004 <span class="comment"> *</span>
<a name="l00005"></a>00005 <span class="comment"> * This library is free software; you can redistribute it and/or</span>
<a name="l00006"></a>00006 <span class="comment"> * modify it under the terms of the GNU Lesser General Public</span>
<a name="l00007"></a>00007 <span class="comment"> * License as published by the Free Software Foundation; either</span>
<a name="l00008"></a>00008 <span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> * This library is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
<a name="l00013"></a>00013 <span class="comment"> * Lesser General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"> *</span>
<a name="l00015"></a>00015 <span class="comment"> * $Id: pkcs11_lib.h 435 2010-06-07 14:53:17Z ludovic.rousseau $</span>
<a name="l00016"></a>00016 <span class="comment"> */</span>
<a name="l00017"></a>00017 <span class="preprocessor">#ifndef __PKCS11_LIB_H__</span>
<a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#define __PKCS11_LIB_H__</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span>
<a name="l00020"></a>00020 <span class="preprocessor">#include "<a class="code" href="cert__st_8h.html">cert_st.h</a>"</span>
<a name="l00021"></a>00021
<a name="l00022"></a><a class="code" href="pkcs11__lib_8h.html#acb2c04abd302ac1071e6a60cfd8de356">00022</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>cert_object_str <a class="code" href="pkcs11__lib_8h.html#acb2c04abd302ac1071e6a60cfd8de356">cert_object_t</a>;
<a name="l00023"></a><a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">00023</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>pkcs11_handle_str <a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a>;
<a name="l00024"></a>00024
<a name="l00025"></a>00025 <span class="preprocessor">#ifndef __PKCS11_LIB_C__</span>
<a name="l00026"></a><a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define PKCS11_EXTERN extern</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#else</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define PKCS11_EXTERN</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#a6d31b568e8589eeb3c5f62064313c2b4">crypto_init</a>(<a class="code" href="structcert__policy__st.html">cert_policy</a> *policy);
<a name="l00032"></a>00032 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#acfbae7a3647719ef980a588d31754048">load_pkcs11_module</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *module, <a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> **h);
<a name="l00033"></a>00033 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#aea3da7fa44fbd435d11ee431bbac444b">init_pkcs11_module</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,<span class="keywordtype">int</span> flag);
<a name="l00034"></a>00034 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#a830ac8e328a035ed0a50cee210bafaf6">find_slot_by_number</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slot_num,
<a name="l00035"></a>00035 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *slot);
<a name="l00036"></a>00036 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#ad8f926917589cd09c24f7b7de0d917aa">find_slot_by_number_and_label</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,
<a name="l00037"></a>00037 <span class="keywordtype">int</span> slot_num, <span class="keyword">const</span> <span class="keywordtype">char</span> *slot_label,
<a name="l00038"></a>00038 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *slot);
<a name="l00039"></a>00039 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="pkcs11__lib_8h.html#afcc3fa83c72cbe49670452094563cd45">get_slot_tokenlabel</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h);
<a name="l00040"></a>00040 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#aab50fa19268554731c9509dc6edf87b1">wait_for_token</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,
<a name="l00041"></a>00041 <span class="keywordtype">int</span> wanted_slot_num,
<a name="l00042"></a>00042 <span class="keyword">const</span> <span class="keywordtype">char</span> *wanted_token_label,
<a name="l00043"></a>00043 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *slot);
<a name="l00044"></a>00044 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#ada1ba9cd80f85bca6f8cdf8a0e15161c">find_slot_by_slotlabel</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,
<a name="l00045"></a>00045 <span class="keyword">const</span> <span class="keywordtype">char</span> *wanted_slot_label,
<a name="l00046"></a>00046 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *slot);
<a name="l00047"></a>00047 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#a20433ad6ea7902b406dece386daa564e">find_slot_by_slotlabel_and_tokenlabel</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,
<a name="l00048"></a>00048 <span class="keyword">const</span> <span class="keywordtype">char</span> *wanted_slot_label,
<a name="l00049"></a>00049 <span class="keyword">const</span> <span class="keywordtype">char</span> *wanted_token_label,
<a name="l00050"></a>00050 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *slot);
<a name="l00051"></a>00051 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#ad32fdcb7bde5a887dfd93f1059fa5d96">wait_for_token_by_slotlabel</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,
<a name="l00052"></a>00052 <span class="keyword">const</span> <span class="keywordtype">char</span> *wanted_slot_label,
<a name="l00053"></a>00053 <span class="keyword">const</span> <span class="keywordtype">char</span> *wanted_token_label,
<a name="l00054"></a>00054 <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *slot);
<a name="l00055"></a>00055 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keyword">const</span> X509 *<a class="code" href="pkcs11__lib_8h.html#aba94ed4ae06b8676b96f7a3952fd024f">get_X509_certificate</a>(<a class="code" href="pkcs11__lib_8h.html#acb2c04abd302ac1071e6a60cfd8de356">cert_object_t</a> *<a class="code" href="SECerrs_8h.html#a849ee110484ddc0d2ec33426bc31f5fb">cert</a>);
<a name="l00056"></a>00056 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">void</span> <a class="code" href="pkcs11__lib_8h.html#ade3218d5c4b3eb95b0a4e3d93c1cc4a8">release_pkcs11_module</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h);
<a name="l00057"></a>00057 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#aae2e7b9a0f1a397ea01f58eb5a4e9a1c">open_pkcs11_session</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> slot);
<a name="l00058"></a>00058 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#ae56dc108c936a54e1dd5f79f7a890c75">close_pkcs11_session</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h);
<a name="l00059"></a>00059 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#addd206fa5e8a626d4310bdbf440a246f">pkcs11_login</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h, <span class="keywordtype">char</span> *password);
<a name="l00060"></a>00060 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#a7577fb740b5ca4e525727ff426f91627">pkcs11_pass_login</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h, <span class="keywordtype">int</span> nullok);
<a name="l00061"></a>00061 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#a8bb22865610ab51bcb062940a4a81e9f">get_slot_login_required</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h);
<a name="l00062"></a>00062 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#a01e34495eba2aaf6498585daf35dba54">get_slot_protected_authentication_path</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h);
<a name="l00063"></a>00063 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <a class="code" href="pkcs11__lib_8h.html#acb2c04abd302ac1071e6a60cfd8de356">cert_object_t</a> **<a class="code" href="pkcs11__lib_8h.html#ab6d391a630d6cd4950ddc5e19081740c">get_certificate_list</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h,
<a name="l00064"></a>00064 <span class="keywordtype">int</span> *ncert);
<a name="l00065"></a>00065 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#a4c2dafcc38304bb6d7112ba7daf97b6c">get_private_key</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h, <a class="code" href="pkcs11__lib_8h.html#acb2c04abd302ac1071e6a60cfd8de356">cert_object_t</a> *);
<a name="l00066"></a>00066 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#af2ca819643912f89ddffc27ad2cb4b52">sign_value</a>(<a class="code" href="pkcs11__lib_8h.html#a4a3eba817d5adcfe28b87f84775aa8ff">pkcs11_handle_t</a> *h, <a class="code" href="pkcs11__lib_8h.html#acb2c04abd302ac1071e6a60cfd8de356">cert_object_t</a> *,
<a name="l00067"></a>00067 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> length,
<a name="l00068"></a>00068 <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> **signature, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *signature_length);
<a name="l00069"></a>00069 <a class="code" href="pkcs11__lib_8h.html#a9e0301d65969a7502c2b9a5f81f414bd">PKCS11_EXTERN</a> <span class="keywordtype">int</span> <a class="code" href="pkcs11__lib_8h.html#aebda90cfe5cfc237485228430b933a22">get_random_value</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *data, <span class="keywordtype">int</span> length);
<a name="l00070"></a>00070
<a name="l00071"></a>00071 <span class="preprocessor">#undef PKCS11_EXTERN</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span>
<a name="l00073"></a>00073 <span class="comment">/* end of pkcs11_lib.h */</span>
<a name="l00074"></a>00074 <span class="preprocessor">#endif</span>
</pre></div></div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Sat Jun 12 17:28:15 2010 for pam_pkcs11 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
|