Skip to content

Commit 63ce563

Browse files
committed
Adding support for DNIe.
1 parent e8eb4cd commit 63ce563

21 files changed

+6874
-7
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ src/tools/cardos-info
7777
src/tools/cryptoflex-tool
7878
src/tools/netkey-tool
7979
src/tools/pkcs11-tool
80+
src/tools/dnie-tool
8081

8182
win32/OpenSC.iss
8283
win32/OpenSC.wxs
@@ -97,4 +98,4 @@ src/tests/base64
9798
src/tests/lottery
9899
src/tests/p15dump
99100
src/tests/pintest
100-
src/tests/prngtest
101+
src/tests/prngtest

configure.ac

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,13 @@ AC_ARG_ENABLE(
168168
[enable_doc="no"]
169169
)
170170

171+
AC_ARG_ENABLE(
172+
[dnie-ui],
173+
[AS_HELP_STRING([--enable-dnie-ui],[enable use of external user interface program to request DNIe pin@<:@disabled@:>@])],
174+
,
175+
[enable_dnie_ui="no"]
176+
)
177+
171178
AC_ARG_WITH(
172179
[xsl-stylesheetsdir],
173180
[AS_HELP_STRING([--with-xsl-stylesheetsdir=PATH],[docbook xsl-stylesheets for svn build @<:@detect@:>@])],
@@ -326,6 +333,18 @@ if test "${enable_sm}" = "yes"; then
326333
AC_DEFINE_UNQUOTED([DEFAULT_SM_MODULE], ["${DEFAULT_SM_MODULE}"], [Default SM module])
327334
fi
328335

336+
if test "${enable_dnie_ui}" = "yes"; then
337+
AC_DEFINE([ENABLE_DNIE_UI], [1], [Enable the use of external user interface program to request DNIe user pin])
338+
339+
case "${host}" in
340+
*-apple-*)
341+
if test "${enable_dnie_ui}" = "yes"; then
342+
LDFLAGS="${LDFLAGS} -framework Carbon"
343+
fi
344+
;;
345+
esac
346+
fi
347+
329348
AC_ARG_VAR([ZLIB_CFLAGS], [C compiler flags for zlib])
330349
AC_ARG_VAR([ZLIB_LIBS], [linker flags for zlib])
331350
if test -z "${ZLIB_LIBS}"; then
@@ -588,6 +607,7 @@ AM_CONDITIONAL([WIN32], [test "${WIN32}" = "yes"])
588607
AM_CONDITIONAL([CYGWIN], [test "${CYGWIN}" = "yes"])
589608
AM_CONDITIONAL([ENABLE_MINIDRIVER], [test "${enable_minidriver}" = "yes"])
590609
AM_CONDITIONAL([ENABLE_SM], [test "${enable_sm}" = "yes"])
610+
AM_CONDITIONAL([ENABLE_DNIE_UI], [test "${enable_dnie_ui}" = "yes"])
591611

592612
if test "${enable_pedantic}" = "yes"; then
593613
enable_strict="yes";
@@ -601,6 +621,8 @@ if test "$GCC" = "yes"; then
601621
CFLAGS="-fno-strict-aliasing ${CFLAGS}"
602622
fi
603623

624+
CFLAGS="${CFLAGS} -Werror=declaration-after-statement"
625+
604626
AC_CONFIG_FILES([
605627
Makefile
606628
doc/Makefile
@@ -652,6 +674,7 @@ CT-API support: ${enable_ctapi}
652674
minidriver support: ${enable_minidriver}
653675
SM support: ${enable_sm}
654676
SM default module: ${DEFAULT_SM_MODULE}
677+
DNIe UI support: ${enable_dnie_ui}
655678
Debug file: ${DEBUG_FILE}
656679

657680
PC/SC default provider: ${DEFAULT_PCSC_PROVIDER}

doc/tools/dnie-tool.xml

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<refentry id="dnie-tool">
3+
<refmeta>
4+
<refentrytitle>dnie-tool</refentrytitle>
5+
<manvolnum>1</manvolnum>
6+
<refmiscinfo>opensc</refmiscinfo>
7+
</refmeta>
8+
9+
<refnamediv>
10+
<refname>dnie-tool</refname>
11+
<refpurpose>displays information about DNIe based security tokens</refpurpose>
12+
</refnamediv>
13+
14+
<refsect1>
15+
<title>Synopsis</title>
16+
<para>
17+
<command>dnie-tool</command> [OPTIONS]
18+
</para>
19+
</refsect1>
20+
21+
<refsect1>
22+
<title>Description</title>
23+
<para>
24+
The <command>dnie-tool</command> utility is used to display additional information about DNIe, the Spanish National eID card.
25+
</para>
26+
</refsect1>
27+
28+
<refsect1>
29+
<title>Options</title>
30+
<para>
31+
<variablelist>
32+
<varlistentry>
33+
<term><option>--idesp, -i </option></term>
34+
<listitem><para>Show the DNIe IDESP value.
35+
</para></listitem>
36+
</varlistentry>
37+
<varlistentry>
38+
<term><option>--data, -d </option></term>
39+
<listitem><para>Show DNIe personal information.
40+
Reads and print DNIe number and User Name and SurName</para></listitem>
41+
</varlistentry>
42+
<varlistentry>
43+
<term><option>--all, -a </option></term>
44+
<listitem><para>Displays every available information.
45+
This command is equivalent to -d -i -s
46+
</para></listitem>
47+
</varlistentry>
48+
<varlistentry>
49+
<term><option>--serial, -s </option></term>
50+
<listitem><para>Displays DNIe Serial Number
51+
</para></listitem>
52+
</varlistentry>
53+
<varlistentry>
54+
<term><option>--version, -V </option></term>
55+
<listitem><para>Show DNIe sw version.
56+
Displays sofware version for in-card DNIe OS</para></listitem>
57+
</varlistentry>
58+
<varlistentry>
59+
<term><option>--pin</option> pin, <option>-p</option> pin</term>
60+
<listitem><para>Specify the user pin <varname>value</varname> to use.
61+
The default is do not enter pin</para></listitem>
62+
</varlistentry>
63+
<varlistentry>
64+
<term><option>--reader</option> number, <option>-r</option> number</term>
65+
<listitem><para>Specify the reader <varname>number</varname> to use.
66+
The default is reader 0.</para></listitem>
67+
</varlistentry>
68+
<varlistentry>
69+
<term><option>--driver</option> number, <option>-c</option> driver</term>
70+
<listitem><para>Specify the reader driver <varname>name</varname> to use.
71+
Default is use driver from configuration file, or auto-detect if absent</para></listitem>
72+
</varlistentry>
73+
<varlistentry>
74+
<term><option>--wait, -w</option></term>
75+
<listitem><para>Causes <command>dnie-tool</command> to wait for the token to be inserted into reader.</para>
76+
</listitem>
77+
</varlistentry>
78+
<varlistentry>
79+
<term><option>--verbose, -v</option></term>
80+
<listitem><para>Causes <command>dnie-tool</command> to be more verbose.
81+
Specify this flag several times
82+
to enable debug output in the opensc library.</para></listitem>
83+
</varlistentry>
84+
</variablelist>
85+
</para>
86+
</refsect1>
87+
88+
<refsect1>
89+
<title>See also</title>
90+
<para>opensc(7)</para>
91+
</refsect1>
92+
<refsect1>
93+
<title>Authors</title>
94+
<para><command>dnie-tool</command> was written by
95+
Juan Antonio Martinez <email>[email protected]</email>.</para>
96+
</refsect1>
97+
98+
</refentry>

src/libopensc/Makefile.am

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ noinst_HEADERS = cards.h ctbcs.h internal.h esteid.h muscle.h muscle-filesystem.
1111
cardctl.h asn1.h log.h \
1212
errors.h types.h compression.h itacns.h iso7816.h \
1313
authentic.h iasecc.h iasecc-sdo.h sm.h card-sc-hsm.h \
14-
pace.h
14+
pace.h cwa14890.h user-interface.h cwa-dnie.h
1515

1616
AM_CPPFLAGS = -DOPENSC_CONF_PATH=\"$(sysconfdir)/opensc.conf\" \
1717
-I$(top_srcdir)/src
@@ -40,12 +40,14 @@ libopensc_la_SOURCES = \
4040
card-rtecp.c card-westcos.c card-myeid.c card-ias.c \
4141
card-javacard.c card-itacns.c card-authentic.c \
4242
card-iasecc.c iasecc-sdo.c iasecc-sm.c card-sc-hsm.c \
43+
card-dnie.c cwa14890.c cwa-dnie.c user-interface.c \
4344
\
4445
pkcs15-openpgp.c pkcs15-infocamere.c pkcs15-starcert.c \
4546
pkcs15-tcos.c pkcs15-esteid.c pkcs15-postecert.c pkcs15-gemsafeGPK.c \
4647
pkcs15-actalis.c pkcs15-atrust-acos.c pkcs15-tccardos.c pkcs15-piv.c \
4748
pkcs15-esinit.c pkcs15-westcos.c pkcs15-pteid.c pkcs15-oberthur.c \
4849
pkcs15-itacns.c pkcs15-gemsafeV1.c pkcs15-sc-hsm.c \
50+
pkcs15-dnie.c \
4951
compression.c p15card-helper.c sm.c \
5052
libopensc.exports
5153
if WIN32

src/libopensc/Makefile.mak

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@ OBJECTS = \
2222
card-asepcos.obj card-akis.obj card-gemsafeV1.obj card-rutoken.obj \
2323
card-rtecp.obj card-westcos.obj card-myeid.obj card-ias.obj \
2424
card-javacard.obj card-itacns.obj card-authentic.obj \
25-
card-iasecc.obj iasecc-sdo.obj iasecc-sm.obj \
26-
card-sc-hsm.obj \
25+
card-iasecc.obj iasecc-sdo.obj iasecc-sm.obj cwa-dnie.obj cwa14890.obj \
26+
card-sc-hsm.obj card-dnie.obj user-interface.obj \
2727
\
2828
pkcs15-openpgp.obj pkcs15-infocamere.obj pkcs15-starcert.obj \
2929
pkcs15-tcos.obj pkcs15-esteid.obj pkcs15-postecert.obj pkcs15-gemsafeGPK.obj \
3030
pkcs15-actalis.obj pkcs15-atrust-acos.obj pkcs15-tccardos.obj pkcs15-piv.obj \
3131
pkcs15-esinit.obj pkcs15-westcos.obj pkcs15-pteid.obj pkcs15-oberthur.obj \
3232
pkcs15-itacns.obj pkcs15-gemsafeV1.obj pkcs15-sc-hsm.obj \
33+
pkcs15-dnie.obj \
3334
compression.obj p15card-helper.obj sm.obj \
3435
$(TOPDIR)\win32\versioninfo.res
3536

0 commit comments

Comments
 (0)