Hi.
I use scute to sign my documents in LibreOffice and I was in need to be
able to use a cert based upon my signature key.
So I changed scute tu build 2 shared objects. The usual scute.so,
which uses the authentication key, and scutrsig.so, which uses the
signature key, for use with LibreOffice.
Where shoult I send this a suggested feature? Is somebody interested in
this out there?
I append my patch to this mail, if somebody is interested in this
"feature". There are only a few really small modigications, but it
works fine for me.
By the way, I forked the GitHub mirror of scute and made the changes
there. The appendet file is the output of "git diff" relative to the
latest commit in the official repository.
My repository can be found at: https://github.com/Dirk1980ac/scute
Regards,
Dirk
PS: The changes were made in some kind of dirty way, because I was in a
hurry to get this working. If somebody has suggestions to make this in
a cleaner way, feel free to comment.
--
Dirk Gottschalk
Paulusstrasse 6-8
52064 Aachen
Tel.: +49 1573 1152350diff --git a/.gitignore b/.gitignore
index 5074f03..25638a2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,3 +12,4 @@ m4/Makefile.in
obj/
src/Makefile.in
tests/Makefile.in
+.buildconfig
diff --git a/README b/README
index 4cd9a12..669e71d 100644
--- a/README
+++ b/README
@@ -1,3 +1,19 @@
+This is a slightly modified versiong of scute.
+
+This modifies version generates two shared objects.
+
+The standard scute.so uses Key 3 on card (authentication key.
+
+scutesig.so uses the signature key. It can be used with Libreoffice to sign
+documents with a certificate based upon the signature key, or even to sign mail
+with this certificate in thunderbird.
+
+The modifications were made by:
+Dirk Gottschalk
+
+Original README below
+=
+
Scute
=
diff --git a/build.sh b/build.sh
new file mode 100755
index 000..bcece67
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,3 @@
+#/bin/sh
+./configure --libdir=/usr/lib64/scute-sig --prefix=/ --enable-silent-rules --enable-sigkey --enable-maintainer-mode
+make
diff --git a/configure.ac b/configure.ac
index 3615a49..6a69871 100644
--- a/configure.ac
+++ b/configure.ac
@@ -67,7 +67,7 @@ AC_INIT([mym4_package],[mym4_version], [https://bugs.gnupg.org])
#
LIBSCUTE_LT_CURRENT=0
LIBSCUTE_LT_AGE=0
-LIBSCUTE_LT_REVISION=3
+LIBSCUTE_LT_REVISION=4
# Version numbers reported by the PKCS #11 module to its users.
VERSION_MAJOR=1
@@ -313,6 +313,8 @@ else
fi
AM_CONDITIONAL(HAVE_GPGSM, test "$GPGSM" != "no")
+AS_IF([test "x$enable_sigkey" = "xyes"], [])
+AM_CONDITIONAL([ENABLE_SIGKEY], [test "$enable_sigkey" = "yes"])
dnl Check for GPGSM version requirement.
GPGSM_VERSION=unknown
diff --git a/src/Makefile.am b/src/Makefile.am
index 9ceef93..ea3cf9f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -60,6 +60,35 @@ sources = cryptoki.h pkcs11.h debug.c debug.h settings.h support.h \
p11-verifyrecover.c p11-verifyrecoverinit.c p11-verifyupdate.c \
p11-waitforslotevent.c p11-wrapkey.c sexp-parse.h
+sigsources = cryptoki.h pkcs11.h debug.c debug.h settings.h support.h \
+ locking.h locking.c error-mapping.h error-mapping.c \
+ get-path.c agent.h agent.c \
+ slots.h slots-sig.c table.h table.c\
+ cert.h cert-gpgsm.c cert-object.c gpgsm.h gpgsm.c \
+ p11-cancelfunction.c p11-closeallsessions.c p11-closesession.c \
+ p11-copyobject.c p11-createobject.c p11-decrypt.c \
+ p11-decryptdigestupdate.c p11-decryptfinal.c p11-decryptinit.c \
+ p11-decryptupdate.c p11-decryptverifyupdate.c p11-derivekey.c \
+ p11-destroyobject.c p11-digest.c p11-digestencryptupdate.c \
+ p11-digestfinal.c p11-digestinit.c p11-digestkey.c \
+ p11-digestupdate.c p11-encrypt.c p11-encryptfinal.c \
+ p11-encryptinit.c p11-encryptupdate.c p11-finalize.c \
+ p11-findobjects.c p11-findobjectsfinal.c p11-findobjectsinit.c \
+ p11-generatekey.c p11-generatekeypair.c p11-generaterandom.c \
+ p11-getattributevalue.c p11-getfunctionlist.c \
+ p11-getfunctionstatus.c p11-getinfo.c p11-getmechanisminfo.c \
+ p11-getmechanismlist.c p11-getobjectsize.c \
+ p11-getoperationstate.c p11-getsessioninfo.c p11-getslotinfo.c \
+ p11-getslotlist.c p11-gettokeninfo.c p11-initialize.c \
+ p11-initpin.c p11-inittoken.c p11-login.c p11-logout.c \
+ p11-opensession.c p11-seedrandom.c p11-setattributevalue.c \
+ p11-setoperationstate.c p11-setpin.c p11-sign.c \
+ p11-signencryptupdate.c p11-signfinal.c p11-signinit.c \
+ p11-signrecover.c p11-signrecoverinit.c p11-signupdate.c \
+ p11-unwrapkey.c p11-verify.c p11-verifyfinal.c p11-verifyinit.c \
+ p11-verifyrecover.c p11-verifyrecoverinit.c p11-verifyupdate.c \
+ p11-waitforslotevent.c p11-wrapkey.c sexp-parse.h
+
if HAVE_LD_VERSION_SCRIPT
scute_version_script_cmd = -Wl,--version-script=$(srcdir)/libscute.vers
@@ -68,7 +97,8 @@ scute_version_script_cmd =
endif
-lib_LTLIBRARIES = scute.la
+lib_LTLIBRARIES = scute.la scutesig.la
+
if