C#和Java代码以数字方式签署PDF文件

document_security-300

在里面 ”使用C#,VB和Java中的密码保护PDF文件”文章,我们描述了如何使用PDFFILE类PDF SDK密码保护和加密PDF文件。使用pdffile课程还使数字签名PDF文件同样容易!这PDFFILE类可用于.NET FX,.NET CORE和JAVA

数字签名的PDF文件为用户提供了保证,他们看到了PDF的未修改版本。对PDF内容的任何更改都将使数字签名无效,并提醒用户有所改变。

签名的PDF
带有修改内容的签名PDF

以下是一些C#和Java代码片段,这些摘要将PDFFILE类签名为PDF文件。务必在我们的文档中查看教程188宝金博安卓下载也是。

数字签名PDF文件 - C#代码

private static void main(){if(setLicense()== false){console.writeline(“不良LeadTools许可证或许可未设置。”);返回;} if(checkDigitalSignaturesupportStatus()== false){console.writeline(“不可用数字签名功能。” +“确保您有开放式SSL libs:” +“ https://m.ahtuanjie.comcom/help/sdk/v22/dh/to/lead-compiled-openssl-binaries.html”);返回;} signpdf();} private static void signpdf(){const string password =“ password1234”;var pdffile = new LeadTools.pdf.pdffile(lideToolSinstallPath +“ \\ Resources \\ images \\ pdf \\ pdf \\ sign \\ input.pdf”);pdffile.signdocument(LeadToolSinstallPath +“ \\ Resources \\ images \\ pdf \\ sign \\ sign \\ signed.pdf”,Leadtoolsinstallpath +“ \\ resources \\ resources \\ pdf \\ pdf \\ pdf \\ sign \\ sign \\ pdf.pfx”,密码);} public static bool setlicense(){if(!rastersupport.kernelexpeffired)return!rastersupport.kernelexpired;尝试{var licstring = file.readallText(program.leadtoolslicensepath); var developerKey = File.ReadAllText(Program.LeadtoolsLicensePath + ".key"); var licBytes = System.Text.Encoding.UTF8.GetBytes(licString); RasterSupport.SetLicense(licBytes, developerKey); } catch (Exception ex) { Console.WriteLine(ex.Message); } return !RasterSupport.KernelExpired; } public static bool CheckDigitalSignatureSupportStatus() { SetOpenSslBinFolder(); // //m.ahtuanjie.com/help/sdk/v22/dh/pdf/pdfdocument-getdigitalsignaturesupportstatus.html return PDFDocument.GetDigitalSignatureSupportStatus() == RasterExceptionCode.Success; } public static void SetOpenSslBinFolder() { RasterDefaults.SetResourceDirectory(LEADResourceDirectory.OpenSSL, LeadtoolsInstallPath + "\\Bin\\CDLL\\x64"); }

数字签名PDF文件 - Java代码

public static void main(string [] args)引发异常{loadLibs();if(setLicense()== false){system.out.println(“不良LeadTools许可或未设置许可证”);返回;} if(checkDigitalSignaturesupportStatus()== false){system.out.println(“不可用的数字签名功能。” +“确保您有开放的ssl libs:” +“ https:///wm.ahtuanjie.com/help/sdk/v22/dh/to/lead-compiled-openssl-binaries.html“);返回;} signpdf();} private static void signpdf(){最终字符串密码=“ password1234”;最终的pdffile pdffile = new pdffile(leadtoolsinstallpath +“ \\ resources \\ images \\ pdf \\ pdf \\ sign \\ input.pdf”);pdffile.signdocument(LeadToolSinstallPath +“ \\ Resources \\ images \\ pdf \\ sign \\ sign \\ signed.pdf”,Leadtoolsinstallpath +“ \\ resources \\ resources \\ pdf \\ pdf \\ pdf \\ sign \\ sign \\ pdf.pfx”,密码);} public static boolean checkdigitalSignaturesupportStatus(){// https://wwm.ahtuanjie.com/help/help/sdk/sdk/v22/pdf/pdf/pdf/pdff/pdfdocument-getdigument digigaltalsignatorsignatorsignituresupportstatus.htmlll pdddd.tmpptertimittimntimitcientcient. } private static void LoadLibs() { Platform.setLibPath(LEADTOOLSINSTALLPATH + "\\Bin\\CDLL\\x64"); Platform.loadLibrary(LTLibrary.LEADTOOLS); Platform.loadLibrary(LTLibrary.PDF); } private static boolean SetLicense() { if (!RasterSupport.getKernelExpired()) return !RasterSupport.getKernelExpired(); try { final String licensePathString = LEADTOOLSINSTALLPATH + "\\Support\\Common\\License\\LEADTOOLS.lic"; final String licenseKeyPathString = licensePathString + ".key"; RasterSupport.setLicense(licensePathString, Files.readString(Path.of(licenseKeyPathString))); } catch (Exception ex) { System.out.println(ex.getMessage()); } return !RasterSupport.getKernelExpired(); }

在PowerShell中创建自签名的证书

为了创建概念证明,您可以快速生成一个自签名证书进行测试。以下是我使用的PowerShell脚本。该脚本要求您以提高权限运行PowerShell。

$ myname =“ your name” $ myemail =“ your@emaildomain.tld” $ certpassword =“ password1234” $ cert = new -selfSignedCertificate -t​​ype custy -certstoreLocation cert:\ localMachine \ localmachine \ localmachine \ my -container test* -subibled test* -subibext'cn = $ cn = $ cn = $ cn = $myname“ -textextension @(“ 2.5.29.37 = {text} 1.3.6.1.5.5.7.3.2”,“ 2.5.29.17 = {text} upn = $ myemail”)-Keyusage digitalsage digitalSign- keyalgorithm rsa -keylgorithm rsa -keylenge -keylenge 2048 -notafter -notafter -notafter(get -date).addmonths(6)$ pwd = converttuts -securestring -sintring“ $ certpassword” -force -asplaintext $ path =“ cert:\ localmachine \ localmachine \ y my \ my \” + $ cert.thumbprint export -thumbprint export -pfxcertificate -cert $ cert $ path $ path-filepath C:\ temp \ pdf \ pdf.pfx -password $ pwd

亲自看 - 免费评估

免费下载LeadTools SDK。它是60天的全功能,并提供免费的聊天和电子邮件支持。

请继续关注更多转换样品

您是否看到我们以前的帖子”将HTML转换为C#,VB和Java中的PDF”?请继续关注更多的PDF示例,以查看LeadTool如何轻松适应涉及PDF文件的任何工作流程。在此期间需要帮助吗?联系我们的支持团队以获取免费技术支持呢对于定价或许可问题,您可以通过电子邮件与我们的销售团队联系或致电 +1-704-332-5532致电我们。

关于

开发人员倡导者

    在上面找到有关我的更多信息:
  • LinkedIn
  • 推特
  • YouTube
此条目已发布在PDF并标记,,,,,,,,,,,,。书签永久链接

发表评论

您的电子邮件地址不会被公开。必需的地方已做标记*