Launchpad has imported 37 comments from the remote bug at https://bugs.freedesktop.org/show_bug.cgi?id=16770.
If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. ------------------------------------------------------------------------ On 2008-07-18T00:43:49+00:00 Rastos wrote: Since poppler is the basis for most pdf-processing software on Linux it would be great if it provided some functionality to access digital signatures embedded in PDF documents, so that the applications can display details of signing certificate and verify the validity of signature. An example of such signatures can be seen on http://www.aloaha.com/cache/multiplesignatures.pdf Look at the objects along the right border of the page. On Windows the signatures can be checked using Adobe Acrobat 8.x Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/0 ------------------------------------------------------------------------ On 2008-12-17T00:44:47+00:00 Carlos Garcia Campos wrote: *** Bug 19120 has been marked as a duplicate of this bug. *** Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/1 ------------------------------------------------------------------------ On 2008-12-17T15:22:30+00:00 Advax wrote: http://www.adobe.com/devnet/acrobat/pdfs/PDF32000_2008.pdf I hacked Xpdf to tell me of the existence of SigFlags bits, but lack the skill to implement this properly in finite time Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/2 ------------------------------------------------------------------------ On 2010-07-28T11:07:28+00:00 Markus Kilås wrote: Created attachment 37425 Initial patch for parsing digitally signed PDFs I have started to look at support for verifying signed PDF documents. The attached patched gives very basic support by providing methods for getting the signature data (/Contents), the signature type (/SubFilter i.e. PKCS7) and the ByteRanges that the verifier needs to calculate the digest over. Then the actual signature and certificate chain verification is not specific to PDF and could be implemented by the applications using any crypto library. // Markus Kilås mar...@primekey.se Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/3 ------------------------------------------------------------------------ On 2010-07-28T11:25:18+00:00 Markus Kilås wrote: Sample signed document: http://wwwpriv.primekey.se/~markus/pdfsigner/SignServer3.1.3-signed.pdf Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/4 ------------------------------------------------------------------------ On 2010-07-28T15:01:38+00:00 Albert Astals Cid wrote: Why force the applications to implement it? After all they are all going to do the same, so it makes sense to have it at the poppler level too. Code related i don't see why you store contents as a GooString and the others as Objects, what's the reason? Also before doing getArray() and getName() you need to check with isArray and isName, otherwise if the file is broken we will crash. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/5 ------------------------------------------------------------------------ On 2010-07-28T15:55:34+00:00 Brad Hards wrote: I do kind-of agree with Markus that the verification operations can be done externally. There is an application level dependency in that the certificate store could depend on the desktop / user environment. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/6 ------------------------------------------------------------------------ On 2010-07-28T16:05:21+00:00 Brad Hards wrote: It would be very useful to have example code that actually does the validation operations (e.g. in the glib or qt examples). Perhaps gnutls (LGPLv2+) may be suitable. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/7 ------------------------------------------------------------------------ On 2010-07-29T02:48:37+00:00 Markus Kilås wrote: I can see you point that the verification should be included if all applications were to use it. However, I was not just sure if it is good to add a dependency to a particular crypto library. There are Gnutls, openssl and NSS and possibly other? I have not used any of them for this purpose (I am mainly a Java developer now days and normally use the Bouncy Castle API). And as Brad mentions the trusted root certificates might be fetched from some keystore integrated with the desktop. I think my initial idea was to have support in poppler to get only that is needed and then an application could implement the rest and later some of that could be refactored and moved back into poppler, but that's just and idea you know better how poppler works. Regarding the code related question: I have not been using poppler before and I noticed while looking at this that there was at least two ways of doing it. I did not really understand the implications of choosing one over the other. What is recommended - storing the Object in the class or copy the string? I wasn't also sure I was freeing the memory correctly... Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/8 ------------------------------------------------------------------------ On 2010-07-29T12:09:38+00:00 Albert Astals Cid wrote: Brad, you are the "expert" here, you think it makes sense commiting the patch (maybe fixing the style?) ? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/9 ------------------------------------------------------------------------ On 2010-07-29T15:40:14+00:00 Albert Astals Cid wrote: I've spoken with Brad off-line and i think i agree with him that we should have a working test/example showing how things work before commiting anything, otherwise it will just bitrot, no-one will be able to figure out how to use it, etc... So if you could hack a quick test/example using the library of your choose it would be great Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/10 ------------------------------------------------------------------------ On 2010-08-19T10:18:58+00:00 Cmorve69-w wrote: I'm far from understanding all of this. But notice it seems NSS will be *the* Linux crypto library. Fedora is pursuing it: http://fedoraproject.org/wiki/FedoraCryptoConsolidation And it's in Linux Standard Base 4: http://ldn.linuxfoundation.org/article/lsb-40-the-cryptography-strategy Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/11 ------------------------------------------------------------------------ On 2011-04-15T01:15:17+00:00 Jelle de Jong wrote: Any progress or possible ETA for digital signature support for PDF documents? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/12 ------------------------------------------------------------------------ On 2011-12-11T11:44:40+00:00 iroli wrote: bump Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/13 ------------------------------------------------------------------------ On 2012-02-09T05:36:13+00:00 nodata wrote: Since there hasn't been any progress for a couple of years, would it be possible to close this bug? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/14 ------------------------------------------------------------------------ On 2012-03-04T00:49:19+00:00 sjjh wrote: In favor of closing it, I would like to see some progress here. :) I believe the importance for digital signing will increase in future. Maybe the poppler team could ask the developers/companies of the big linux distributions for help? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/15 ------------------------------------------------------------------------ On 2012-09-07T12:11:03+00:00 André Guerreiro wrote: Created attachment 66786 PDF Signature verification support Here's an initial attempt at solving this issue. This patch adds signature verification support to poppler core. It uses OpenSSL PKCS7 API for the crypto operations (signature and certificate Validations). 4 new functions were added at the glib wrapper level: poppler_document_is_signed poppler_document_signature_validate poppler_document_signature_get_time poppler_document_signature_get_signername I've coordinated with Vasco Dias to expose this feature in Evince and his work is in the latest patches attached to this bug: https://bugzilla.gnome.org/show_bug.cgi?id=614929 As the additional dependency on OpenSSL couldn't possibly satisfy everyone I made it optional at build-time with --enable-openssl for Autotools and -DENABLE_OPENSSL=ON for cmake Current limitations: - Timestamps contained in the PKCS7 signature are not verified - the new functionality is not yet exposed in the qt4 wrapper as I prioritized the glib wrapper to support Evince. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/16 ------------------------------------------------------------------------ On 2012-09-07T12:58:34+00:00 Albert Astals Cid wrote: Haven't looked at the code yet, but thanks anyway for trying to solve this. openssl is not compatible with GPLv2 code (or at least its compatibility is discussed by some) any change you guys can use GNU TLS or Mozilla NSS which seem to be more in the clear? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/17 ------------------------------------------------------------------------ On 2012-09-07T14:54:16+00:00 Josh Triplett wrote: Since the patch provided supports verifying signatures, any thoughts on adding support for creating signatures, ideally in a manner compatible with Adobe's implementation? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/18 ------------------------------------------------------------------------ On 2012-09-07T16:50:48+00:00 André Guerreiro wrote: @Albert OK, I can see the problem for poppler in terms of licensing. A quick evaluation of the alternatives: gnutls seems to be unsuited for this because it doesn't have a decent PKCS7 API that would allow me to parse the signature and access each component. I've only found this in the docs: http://www.gnu.org/software/gnutls/manual/html_node/X509-certificate-API.html#X509-certificate-API NSS seems to be more promising as I've found example code for PKCS#7 validation in its source tarball: mozilla/security/nss/cmd/p7verify/p7verify.c The disadvantage I see with nss is that we won't be able to reuse the system certificate store usually in /etc/ssl/certs because it will need to use a particular Berkeley DB cert store as you can find in your Firefox/Thunderbird Profile. So we'd have an implicit dependency on .mozilla/... being present or worse we'll need to introduce our own cert store. I have no experience with gnutls or nss so if anyone can correct me or add something, feel free. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/19 ------------------------------------------------------------------------ On 2012-09-07T17:05:36+00:00 André Guerreiro wrote: Also I can see merit in Fedora's effort of consolidation around NSS but I think it's a really herculean effort to port over so many packages. http://fedoraproject.org/wiki/CryptoConsolidationScorecard Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/20 ------------------------------------------------------------------------ On 2012-09-07T17:26:12+00:00 Markus Kilås wrote: (In reply to comment #19) I know that LibreOffice uses NSS as when I look at digital signatures my certificates from Firefox is availble. However, I don't think the LibreOffice Ubuntu packages require the whole Firefox to be installed. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/21 ------------------------------------------------------------------------ On 2012-09-07T17:43:10+00:00 André Guerreiro wrote: (In reply to comment #21) > (In reply to comment #19) > > I know that LibreOffice uses NSS as when I look at digital signatures my > certificates from Firefox is availble. However, I don't think the LibreOffice > Ubuntu packages require the whole Firefox to be installed. Yes it doesn't require Firefox or Thunderbird but if you didn't have any of them you wouldn't have any CA certs in LO. http://wiki.openoffice.org/wiki/Certificate_Detection Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/22 ------------------------------------------------------------------------ On 2012-09-08T16:46:26+00:00 Albert Astals Cid wrote: Andre: what's missing regarding PCKS#7 in http://www.gnu.org/software/gnutls/manual/html_node/X509-certificate- API.html#X509-certificate-API ? (note i'm a total noob regarding PCKS :D) >From what i see you can go gnutls_pkcs7_export + gnutls_x509_crl_import and then the x509 thing offers lots of getter, no? If that does not work for you, what big projects do with openssl (i.e. Qt) is dlopen it on runtime, that seems to avoid the gpl incompatibiltiy which if you ask me is a bit lame, but if it works for them i guess it should work for us. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/23 ------------------------------------------------------------------------ On 2012-09-09T10:02:10+00:00 Albert Astals Cid wrote: What is missing in gnutls? I think that you have to use the pcks7 export and pass the data to the x509 import and then you have all those useful functions. If none of the options is enough, we can do what big projects do (e.g. Qt) and dlopen openssl, if it works for them, it ought to work for us. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/24 ------------------------------------------------------------------------ On 2012-09-09T10:19:59+00:00 Albert Astals Cid wrote: Doh, there was a glitch in bugzilla and it created both my yesterday comment that i got an error when pasting and today's one :-S Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/25 ------------------------------------------------------------------------ On 2012-09-10T09:41:39+00:00 André Guerreiro wrote: What's missing in gnutls is a way to parse all the relevant components of the PKCS#7 object as present in a PDF signature. It seems that in gnutls they assume those objects can only contain certificates and CRLs as you can confirm if you go through the functions that take gnutls_pkcs7_t as argument. With openssl you can get the certificates, signature, and the digest of the signed content (these are the essential parts for detached signatures as used in PDF) as well as any optional timestamps or CRLs. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/26 ------------------------------------------------------------------------ On 2012-09-10T09:44:47+00:00 André Guerreiro wrote: Regarding the dlopen workaround I'll take a look at it this week. I'll try to minimize the pitfall of possible missing/different symbols by targeting only the last major version of openssl (1.0). Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/27 ------------------------------------------------------------------------ On 2012-09-10T11:38:59+00:00 Chpe wrote: qt can link to openssl because its lgpl licence has an openssl exception, and not because dlopening would make it not 'link' to openssl. poppler has no such openssl exception; and even if it did, that wouldn't help the programmes using poppler which are gpl (e.g. evince) without such an exception. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/28 ------------------------------------------------------------------------ On 2012-09-10T14:32:47+00:00 André Guerreiro wrote: So if I understood correctly Qt is only using the dlopen approach to overcome restrictions to crypto exports but not (L)GPL incompatibilities, like stated here: http://qt-project.org/doc/qt-4.8/ssl.html Getting back to our point I'll need the definitive opinion from Poppler maintainers on using dlopen'ed openssl or replacing it with NSS. Both options are extra work but I'm willing to do the extra mile to get this accepted. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/29 ------------------------------------------------------------------------ On 2012-09-10T14:59:35+00:00 Carlos Garcia Campos wrote: (In reply to comment #26) > What's missing in gnutls is a way to parse all the relevant components of the > PKCS#7 object as present in a PDF signature. > > It seems that in gnutls they assume those objects can only contain > certificates > and CRLs as you can confirm if you go through the functions that take > gnutls_pkcs7_t as argument. > > With openssl you can get the certificates, signature, and the digest of the > signed content (these are the essential parts for detached signatures as used > in PDF) as well as any optional timestamps or CRLs. Would it be a lot of work to add support for that to gnutls? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/30 ------------------------------------------------------------------------ On 2012-09-11T13:19:17+00:00 Albert Astals Cid wrote: Maintainer hat on: I think it'd be easier for all if you can use NSS (now that gnutls has been ruled out because of lack of functionality). https://wiki.mozilla.org/NSS_Shared_DB_And_LINUX states a way to use the shared nss certificate, and seems that chrome is using that too http://code.google.com/p/chromium/wiki/LinuxCertManagement so it is not that "bad". What do you think? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/31 ------------------------------------------------------------------------ On 2012-09-11T15:00:50+00:00 Carlos Garcia Campos wrote: (In reply to comment #30) > (In reply to comment #26) > > What's missing in gnutls is a way to parse all the relevant components of > > the > > PKCS#7 object as present in a PDF signature. > > > > It seems that in gnutls they assume those objects can only contain > > certificates > > and CRLs as you can confirm if you go through the functions that take > > gnutls_pkcs7_t as argument. > > > > With openssl you can get the certificates, signature, and the digest of the > > signed content (these are the essential parts for detached signatures as > > used > > in PDF) as well as any optional timestamps or CRLs. > > Would it be a lot of work to add support for that to gnutls? Replying to myself: <KaL> I wonder if it could be useful for glib-networking to implement the missing things in gnutls, or if we don't need that at all <danw> reading... <danw> chpe, KaL_out: both gnutls and glib-networking intentionally only do TLS, not crypto in general, so I don't think it makes sense to add the extra PKCS#7 functionality to either of them <danw> NSS would be better than OpenSSL, and once all the p11-kit / NSS-shared-DB stuff gets figured out fully, then NSS-based apps will be able to access your gnome-keyring certificates via PKCS#11 Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/32 ------------------------------------------------------------------------ On 2012-09-11T23:14:20+00:00 André Guerreiro wrote: OK, NSS with shared DB is what I'll pursue from now on. Thanks everyone for the input. Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/33 ------------------------------------------------------------------------ On 2012-10-30T07:38:58+00:00 Weibo3721 wrote: Comment on attachment 37425 Initial patch for parsing digitally signed PDFs >diff --git a/poppler/Form.cc b/poppler/Form.cc >index 4df8a7d..1da9776 100644 >--- a/poppler/Form.cc >+++ b/poppler/Form.cc >@@ -1107,11 +1107,28 @@ void FormFieldChoice::_createChoicesTab () > FormFieldSignature::FormFieldSignature(XRef *xrefA, Object *dict, const Ref& > ref) > : FormField(xrefA, dict, ref, formSignature) > { >+ Object v, contents; >+ >+ if (dict->dictLookup("V", &v)->isDict()) { >+ if (v.dictLookup("Contents", &contents)->isString()) { >+ this->contents = contents.getString()->copy(); >+ v.dictLookup("ByteRange", &byteRange); >+ v.dictLookup("Filter", &filter); >+ v.dictLookup("SubFilter", &subFilter); >+ } >+ contents.free(); >+ } >+ v.free(); > } > > FormFieldSignature::~FormFieldSignature() > { >- >+ if(contents) { >+ delete contents; >+} >+ byteRange.free(); >+ filter.free(); >+ subFilter.free(); > } > > //------------------------------------------------------------------------ >diff --git a/poppler/Form.h b/poppler/Form.h >index 35d66af..e5d1a1f 100644 >--- a/poppler/Form.h >+++ b/poppler/Form.h >@@ -418,6 +418,18 @@ public: > FormFieldSignature(XRef *xrefA, Object *dict, const Ref& ref); > > virtual ~FormFieldSignature(); >+ >+ Array* GetByteRange() { return byteRange.getArray(); } >+ GooString* GetContents() const { return contents; } >+ char* GetFilter() { return filter.getName(); } >+ char* GetSubFilter() { return subFilter.getName();} >+ >+protected: >+ GooString* contents; >+ Object byteRange; >+ Object filter; >+ Object subFilter; >+ > }; > > //------------------------------------------------------------------------ >diff --git a/poppler/PDFDoc.cc b/poppler/PDFDoc.cc >index ade5fe4..80b5f6c 100644 >--- a/poppler/PDFDoc.cc >+++ b/poppler/PDFDoc.cc >@@ -358,6 +358,25 @@ GBool PDFDoc::checkEncryption(GooString *ownerPassword, >GooString *userPassword) > return ret; > } > >+#define SIGFLAGS_SIGNATURES_EXIST 0x1 >+#define SIGFLAGS_APPEND_ONLY 0x2 >+ >+GBool PDFDoc::isSigned() { >+ GBool ret; >+ Object sigFlags; >+ >+ getCatalog()->getAcroForm()->dictLookup("SigFlags", &sigFlags); >+ >+ if (sigFlags.isInt()) { >+ ret = sigFlags.getInt() & SIGFLAGS_SIGNATURES_EXIST; >+ } else { >+ ret = gFalse; >+ } >+ sigFlags.free(); >+ >+ return ret; >+} >+ > void PDFDoc::displayPage(OutputDev *out, int page, > double hDPI, double vDPI, int rotate, > GBool useMediaBox, GBool crop, GBool printing, >diff --git a/poppler/PDFDoc.h b/poppler/PDFDoc.h >index 6d7dea2..22fdb40 100644 >--- a/poppler/PDFDoc.h >+++ b/poppler/PDFDoc.h >@@ -176,6 +176,9 @@ public: > // Is the file encrypted? > GBool isEncrypted() { return xref->isEncrypted(); } > >+ // Is the file signed? >+ GBool isSigned(); >+ > // Check various permissions. > GBool okToPrint(GBool ignoreOwnerPW = gFalse) > { return xref->okToPrint(ignoreOwnerPW); } >diff --git a/utils/pdfinfo.cc b/utils/pdfinfo.cc >index 2abe8b4..b4b2233 100644 >--- a/utils/pdfinfo.cc >+++ b/utils/pdfinfo.cc >@@ -49,6 +49,7 @@ > #include "PDFDocEncoding.h" > #include "Error.h" > #include "DateInfo.h" >+#include "Form.h" > > static void printInfoString(Dict *infoDict, char *key, char *text, > UnicodeMap *uMap); >@@ -111,6 +112,8 @@ int main(int argc, char *argv[]) { > int exitCode; > int pg, i; > GBool multiPage; >+ Form *form; >+ FormField *formField; > > exitCode = 99; > >@@ -225,6 +228,61 @@ int main(int argc, char *argv[]) { > printf("no\n"); > } > >+ // print signature info >+ printf("Signed: "); >+ if (doc->isSigned()) { >+ printf("yes ("); >+ >+ form = doc->getCatalog()->getForm(); >+ int sigCounter = 0; >+ >+ for (int i = 0; i < form->getNumFields(); i++) { >+ formField = form->getRootField(i); >+ if (formField->getType() == formSignature) { >+ FormFieldSignature* formFieldSig >+ = static_cast<FormFieldSignature*> (formField); >+ >+ GooString* contents = formFieldSig->GetContents(); >+ >+ if (i != 0) { >+ printf("\n "); >+ } >+ >+ printf("Signature %d: encoding:%s length:%d", >+ ++sigCounter, >+ formFieldSig->GetSubFilter(), >+ contents->getLength()); >+ >+// for (int i = 0; i < contents->getLength(); i++) { >+// printf("%x ", contents->getChar(i) & 0xff); >+// } >+// printf("\n"); >+ >+ Array *byteRange = formFieldSig->GetByteRange(); >+ >+ for (int i = 0; i < byteRange->getLength(); i+=2) { >+ Object start, length; >+ byteRange->get(i, &start); >+ byteRange->get(i+1, &length); >+ printf(" bytes: %d-%d", >+ start.getInt(), start.getInt() + length.getInt()); >+ >+ int oldPos = doc->getBaseStream()->getPos(); >+ doc->getBaseStream()->setPos(start.getInt()); >+// for (int j = 0; j < length.getInt(); j++) { >+// printf("%x ", doc->getBaseStream()->getChar() & 0xff); >+// } >+ doc->getBaseStream()->setPos(oldPos); >+ start.free(); >+ length.free(); >+ } >+ } >+ } >+ printf(")\n"); >+ } else { >+ printf("no\n"); >+ } >+ > // print page size > for (pg = firstPage; pg <= lastPage; ++pg) { > w = doc->getPageCropWidth(pg); Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/34 ------------------------------------------------------------------------ On 2012-11-01T13:23:17+00:00 Albert Astals Cid wrote: weibo? Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/35 ------------------------------------------------------------------------ On 2012-11-05T12:12:24+00:00 José Aliste wrote: (In reply to comment #33) > OK, NSS with shared DB is what I'll pursue from now on. > Thanks everyone for the input. Andre, any update on the status of this? Thanks Reply at: https://bugs.launchpad.net/ubuntu/+source/evince/+bug/1085526/comments/36 ** Changed in: poppler Status: Unknown => Confirmed ** Changed in: poppler Importance: Unknown => Wishlist -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to evince in Ubuntu. https://bugs.launchpad.net/bugs/1085526 Title: ubuntu pdf doc viewer will not let me sign a document Status in Poppler: Confirmed Status in “evince” package in Ubuntu: Triaged Bug description: Just updated in last few weeks, i think ubuntu 12.4 To sign the document i have to send it to my neighbors windows computer, open it, sign it, then send it, then I get a note from echo sign that the document was sent with my signature. ProblemType: Bug DistroRelease: Ubuntu 11.10 Package: evince 3.2.1-0ubuntu2.3 ProcVersionSignature: Ubuntu 3.0.0-27.44-generic 3.0.45 Uname: Linux 3.0.0-27-generic i686 ApportVersion: 1.23-0ubuntu4 Architecture: i386 Date: Fri Nov 30 18:13:25 2012 ExecutablePath: /usr/bin/evince InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release i386 (20110427.1) ProcEnviron: PATH=(custom, no user) LANG=en_US.UTF-8 SHELL=/bin/bash SourcePackage: evince UpgradeStatus: Upgraded to oneiric on 2012-11-18 (12 days ago) To manage notifications about this bug go to: https://bugs.launchpad.net/poppler/+bug/1085526/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp