Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS中对pdf文档进行数字签名_Ios_Objective C_Iphone_Pdf_Core Graphics - Fatal编程技术网

在iOS中对pdf文档进行数字签名

在iOS中对pdf文档进行数字签名,ios,objective-c,iphone,pdf,core-graphics,Ios,Objective C,Iphone,Pdf,Core Graphics,最近我被分配了一个iOS项目,我需要使用应用程序将从服务器下载的密钥对pdf文档进行数字签名 我还不清楚签署文档所涉及的过程,我现在知道的是,我将使用提供给我的私钥文件签署我的pdf,然后使用同一文件的公钥版本进行验证 我已经看到,可以使用iText for Java或iTextSharp for C#等库来实现数字签名。这就是为什么我想知道iOS是否也有类似的功能?。如果没有,使用Quartz管理pdf文档的功能实现这一点的过程是什么 嗯。。。我一直在检查苹果的文档,我发现: 我认为这应该

最近我被分配了一个iOS项目,我需要使用应用程序将从服务器下载的密钥对pdf文档进行数字签名

我还不清楚签署文档所涉及的过程,我现在知道的是,我将使用提供给我的私钥文件签署我的pdf,然后使用同一文件的公钥版本进行验证

我已经看到,可以使用iText for Java或iTextSharp for C#等库来实现数字签名。这就是为什么我想知道iOS是否也有类似的功能?。如果没有,使用Quartz管理pdf文档的功能实现这一点的过程是什么


嗯。。。我一直在检查苹果的文档,我发现:

我认为这应该支持X.509格式。。。我想我可以用它来签署pdf作为CFOS数据的一个实例。此外,我一直在检查CryptoExecute示例代码,但我不能100%确定这是否是我要寻找的

其他建议告诉我检查Adobe文档,但还没有找到使用证书签署文档的C api

如果有人使用了苹果提供的证书服务。。。如果有任何建议或更多的示例代码来理解这个过程,那就太好了。

Pablo

签署PDF文档是一项艰巨的任务(我的公司正在用Pascal在windows世界中完成这项工作)

一般来说,我可以告诉您,您可能找不到可以合并到项目中的可用源代码。要了解它是如何完成的,iText源代码是一个很好的起点,因为一切都在那里

在objective-c中,您走的是正确的道路。使用具有以下函数的X.509证书是正确的方法(因为实际给定的填充太旧,您需要创建自己的填充以支持,例如SHA256。您可以在此处看到如何做到这一点:)。 “dataToSign”只是要签名的PDF内容(例如SHA256)的散列

要找出PDF源文件的哪一部分需要准确签名,您必须查看adobe PDF 1.6文档,或者分组搜索讨论这一点。你将用哪种语言签署PDF文件没有区别

最后,您将在PDF文档的预定义部分中嵌入签名和一些关于签名的信息(注意不要这样做破坏有效的哈希;),并且可以使用任何其他PDF签名/验证软件查看和验证签名

很抱歉,我无法向您提供相关的代码,但是您可以在X.509证书中找到足够的示例,例如创建SSL/SSH连接。如果您搜索SecKeyRawSign,您甚至会找到一些用于签名的示例(至少使用其他模式)。这就是您所需要的,如果您找到了PDF语法,可以将内容部分签名并将签名嵌入到最终的PDF中

我希望这对你有帮助


Jimmy

你能解决这个难题吗?嗨,你找到了签署PDF文档的方法吗?嗨,你找到了签署PDF文档的方法吗?