File: pkcs11__lib_8h_source.html

package info (click to toggle)
pam-pkcs11 0.6.4-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,512 kB
  • ctags: 7,477
  • sloc: ansic: 12,651; sh: 10,824; xml: 2,756; makefile: 231; lex: 92
file content (109 lines) | stat: -rw-r--r-- 16,740 bytes parent folder | download
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&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;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&nbsp;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>&nbsp;&raquo;&nbsp;<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 &lt;mast@gmx.net&gt;,</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 &quot;<a class="code" href="cert__st_8h.html">cert_st.h</a>&quot;</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&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>