SignDoc SDK (.NET with exceptions)  5.0.1
Migrating from SignDoc SDK 5.0.0 to SignDoc SDK 5.0.1

More SignWare SignWare classes have been reimplemented in SignDoc SDK, see

See also Migrating from SignWare to SignDoc SDK. The following capture devices are supported:

  • Wacom SignPad: STU-300, STU-500, STU-520, STU-530, STU-540, STU-541 (Windows and Linux, locally only, C, C++, Java, .NET headless capture)
  • Wacom pen displays: DTU-1141 (Windows only, locally only, C, C++, Java)
  • Tablet PC (Windows only, locally only, C, C++, Java)

After successful verification of the certificate chains, de.softpro.doc.SignDocVerificationResult.getCertificates() and de.softpro.doc.SignDocVerificationResult.getTimeStampCertificates() now return the complete certificate chain in the correct order.

de.softpro.doc.SignDocSignatureData now supports adding the capture device name and different types of capture device serial numbers.

SignDoc SDK now uses SPTiff_43.dll and SPTiff_43.so instead of SPTiff_40.dll and SPTiff_40.so.

de.softpro.doc.SignDocSignatureData.addSample() now fails if the time channel is present and the time channel would become non-increasing.

de.softpro.doc.SignDocSignatureData.DTU has been added and is used for Wacom pen devices (DTU).

de.softpro.doc.SignDocImage now converts indexed 4-BPP images to 8-BPP images rather than rejecting them.

Changes to the .NET API and the WinRT component

There are now two variants of the .NET API, one using exceptions for reporting errors, the other using return codes for reporting exceptions.

The DLL has been renamed to SPSignDoc_5.0_DotNetEx.dll.

Namespace de.softpro.signdocsdk has been renamed de.softpro.doc.

de.softpro.doc.SignDocException (and derived classes) are thrown instead of System.Exception.

Some methods such as SignDocVerificationResult.getSignatureBlob() threw an exception rather than returning null on error.

The return value of SignDocAnnotation.addPoint(), SignDocAnnotation.newStroke(), SignDocAnnotation.setBackgroundColor(), SignDocAnnotation.setBorderColor(), SignDocAnnotation.setBorderLineWidthInPoints(), SignDocAnnotation.setColor(), SignDocAnnotation.setFlags(), SignDocAnnotation.setLineEnding(), SignDocAnnotation.setLineWidthInPoints(), SignDocAnnotation.setOpacity(), and SignDocAnnotation.setPlainText() has been changed from void to Enums.EAnnotation.ReturnCode.

The type of the certificate argument of SignDocField.addCertSeedValueSubjectCertificate(), SignDocField.setCertSeedValueSubjectCertificate(), and SignDocField.setCertSeedValueSubjectCertificate has been changed from String to array of byte.

The type of the return value of SignDocField.getCertSeedValueSubjectCertificate() has been changed from String to array of byte.

de.softpro.signdocsdk.ISignDocColor has been renamed de.softpro.doc.SignDocColor. ColorGray and ColorRGB have been removed, SignDocColor objects are now created with de.softpro.doc.SignDocColor.createGray() and de.softpro.doc.SignDocColor.createRGB(). The type of color components in SignDocColor has been changed from short to byte.

de.softpro.signdocsdk.Source has been renamed de.softpro.doc.Source.

TODO: SignDocAnnotation.getFontSize() return value on error TODO: SignDocAnnotation return values

The return value of SignDocField.getCertSeedValueSubjectCertificate() and SignDocField.getCertSeedValueIssuerCertificate() has been changed from String to an array of bytes.

The length argument of TimeStamper.stamp() has been removed.

SignDocProperty.setName() and SignDocProperty.setPropType() have been removed. SignDocProperty.getPropType() has been renamed getType().

SignDocVerificationParameters.destroy() has been removed.

The return values of de.softpro.doc.SignDocDocument.getBooleanProperty() and de.softpro.doc.SignDocDocument.getIntegerProperty() are now boxed. null is returned if the property does not exist or does not have the requested type.

The arguments of de.softpro.doc.SignDocDocument.copyAsSignedToStream() have been swapped.

The type of aFlags of de.softpro.doc.SignDocDocument.addText() and de.softpro.doc.SignDocDocument.addText2() has been changed to AddTextFlags.

The type of aFlags of de.softpro.doc.SignDocDocument.copyToStream() has been changed to CopyToStreamFlags.

The type of aFlags of de.softpro.doc.SignDocDocument.exportFields() and de.softpro.doc.SignDocDocument.exportProperties() has been changed to ExportFlags.

The type of aFlags of de.softpro.doc.SignDocDocument.importProperties() has been changed to ImportFlags.

The type of aFlags of de.softpro.doc.SignDocDocument.removeLogicalStructure(), de.softpro.doc.SignDocDocument.removePDFA(), de.softpro.doc.SignDocDocument.removePDFUA(), de.softpro.doc.SignDocDocument.removePermissions(), and de.softpro.doc.SignDocDocument.removeXFA() has been changed to RemoveFlags.

Argument aFlags has been added to de.softpro.doc.SignDocDocument.addAttachmentBlob(), de.softpro.doc.SignDocDocument.addAttachmentFile(), and de.softpro.doc.SignDocDocument.importPages().

de.softpro.signdocsdk.Enums.EDocumentLoader.Handler has been removed.

Some enumerations have been replaced by strings to match the C, C++, and Java APIs and to enable user-defined properties:

  • EDocument.PropertyCollection
  • ERenderParameters.ImageFormat
  • ESignatureParameters.BlobParameter
  • ESignatureParameters.ColorParameter
  • ESignatureParameters.IntegerParameter
  • ESignatureParameters.LengthParameter
  • ESignatureParameters.StringParameter
  • EVerificationResult.SignatureBlob
  • EVerificationResult.SignatureString
  • EVerificationParameters.BlobParameter
  • EVerificationParameters.IntegerParameter
  • EVerificationParameters.StringParameter

All enumerations have been renamed and moved to the de.softpro.doc namespace:

Some enumeration constants have been renamed:

  • de.softpro.signdocsdk.Enums.EAnnotation.AnnotationFlag.DefaultLtr (now DefaultLTR)
  • de.softpro.signdocsdk.Enums.EAnnotation.AnnotationFlag.DefaultRtl (now DefaultRTL)
  • de.softpro.signdocsdk.Enums.EAnnotation.AnnotationFlag.Ltl (now LTR)
  • de.softpro.signdocsdk.Enums.EAnnotation.AnnotationFlag.Rtl (now RTL)
  • de.softpro.signdocsdk.Enums.EAnnotation.AnnotationType.Freetext (now FreeText)
  • de.softpro.signdocsdk.Enums.EDocument.AddTextRectFlags.DefaultLtr (now DefaultLTR)
  • de.softpro.signdocsdk.Enums.EDocument.AddTextRectFlags.DefaultRtl (now DefaultRTL)
  • de.softpro.signdocsdk.Enums.EDocument.AddTextRectFlags.Ltr (now LTR)
  • de.softpro.signdocsdk.Enums.EDocument.AddTextRectFlags.Rtl (now RTL)
  • de.softpro.signdocsdk.Enums.EDocument.DocumentFlag.PreventBreakingTaggedPdf (now PreventBreakingTaggedPDF)
  • de.softpro.signdocsdk.Enums.EDocument.DocumentFlag.RelexByteRange (now RelaxByteRange)
  • de.softpro.signdocsdk.Enums.EDocument.DocumentFlag.UseDssOnly (now UseDSSOnly)
  • de.softpro.signdocsdk.Enums.EDocument.SaveFlag.PDF14 (now PDF_1_4)
  • de.softpro.signdocsdk.Enums.EDocument.SetFieldFlag.DefaultLtr (now DefaultLTR)
  • de.softpro.signdocsdk.Enums.EDocument.SetFieldFlag.DefaultRtl (now DefaultRTL)
  • de.softpro.signdocsdk.Enums.EDocument.SetFieldFlag.KeepAp (now KeepAP)
  • de.softpro.signdocsdk.Enums.EDocument.SetFieldFlag.Ltr (now LTR)
  • de.softpro.signdocsdk.Enums.EDocument.SetFieldFlag.Rtl (now RTL)
  • de.softpro.signdocsdk.Enums.EDocument.SetFieldFlag.UpdateAp (now UpdateAP)
  • de.softpro.signdocsdk.Enums.EDocument.ShootInFootFlag.AllowInvalidCertificates (now AllowInvalidCertificate)
  • de.softpro.signdocsdk.Enums.EDocument.ShootInFootFlag.AssumeApNotShared (now AssumeAPNotShared)
  • de.softpro.signdocsdk.Enums.EDocument.ShootInFootFlag.AssumeApShared (now AssumeAPShared)
  • de.softpro.signdocsdk.Enums.EDocument.ShootInFootFlag.DountVerifyAfterSigning (now DontVerifyAfterSigning)
  • de.softpro.signdocsdk.Enums.EDocument.UpdateDSSFlags.Vri (now VRI)
  • de.softpro.signdocsdk.Enums.EField.FieldFlag.PushButton (now Pushbutton)
  • de.softpro.signdocsdk.Enums.EField.FieldFlag.Readonly (now ReadOnly)
  • de.softpro.signdocsdk.Enums.EField.FieldType.PushButton (now Pushbutton)
  • de.softpro.signdocsdk.Enums.EField.FieldTypeFlags.PushButton (now Pushbutton)
  • de.softpro.signdocsdk.Enums.EField.SignatureType.NotASigantureField (now NotASignatureField)
  • de.softpro.signdocsdk.Enums.ERenderParameters.DecorationState.Ok (now OK)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.BiometricEncryption.PassPhrase (now Passphrase)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.SHA1RSA (now SHA1_RSA)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.MD5RSA (now MD5RSA)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.SHA256RSA (now SHA256_RSA)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.SHA384RSA (now SHA384_RSA)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.SHA512RSA (now SHA512_RSA)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.RIPE160RSA (now RIPEMD160_RSA)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.ECDSASHA1 (now ECDSA_SHA1)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.ECDSASHA224 (now ECDS_ASHA224)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.ECDSASHA256 (now ECDS_ASHA256)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.ECDSASHA384 (now ECDS_ASHA384)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.CertificateSigningAlgorithm.ECDSASHA512 (now ECDS_ASHA512)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.RemoveXFA.Allowed (now IfAllowed)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.RSASignatureScheme.RssPkcs1 (now PKCS1)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.RSASignatureScheme.RssPss (now PSS)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.TextItem.Advisor (now Adviser)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.TextItemDirection.DefaultLtr (now DefaultLTR)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.TextItemDirection.DefaultRtl (now DefaultRTL)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.TextItemDirection.Ltr (now LTR)
  • de.softpro.signdocsdk.Enums.ESignatureParameters.TextItemDirection.Rtl (now RTL)
  • de.softpro.signdocsdk.Enums.ETimeStamper.StampFlag.DoNotCheckRevocation (now DontCheckRevocation)
  • de.softpro.signdocsdk.Enums.EVerificationParameters.CertificateChainVerificationPolicy.AcceptSelfSignedWithRsaBio (now AcceptSelfSignedWithRSABio)
  • de.softpro.signdocsdk.Enums.EVerificationParameters.VerificationModel.ModifiedChain (now ModifiedShell)
  • de.softpro.signdocsdk.Enums.EVerificationParameters.VerificationFlags.NoRevocation (now IgnoreNoRevocation)
  • de.softpro.signdocsdk.Enums.EVerificationParameters.VerificationFlags.UseOCSPPOnly (now UseOCSPOnly)
  • de.softpro.signdocsdk.Enums.EVerificationParameters.VerificationFlags.NoOSCPNonce (now NoOCSPNonce)
  • de.softpro.signdocsdk.Enums.EVerificationResult.UnknownCriticalExtension (now CriticalExtension)
  • de.softpro.signdocsdk.Enums.EVerificationResult.TimeNotValid (now NotTimeValid)
  • de.softpro.signdocsdk.Enums.EVerificationResult.InvalidPathLength (now PathLength)
  • de.softpro.signdocsdk.Enums.EVerificationResult.InvalidCertificate (now Invalid)
  • de.softpro.signdocsdk.Enums.EWatermark.WatermarkFlags.DefalutLtr (now DefaultLTR)
  • de.softpro.signdocsdk.Enums.EWatermark.WatermarkFlags.DefaultRTL (now DefaultRTL)
  • de.softpro.signdocsdk.Enums.EWatermark.WatermarkFlags.Ltr (now LTR)
  • de.softpro.signdocsdk.Enums.EWatermark.WatermarkFlags.Rtl (now RTL)

de.softpro.signdocsdk.ISignRSA has been renamed de.softpro.doc.SignRSA, de.softpro.signdocsdk.ISignECDSA has been renamed de.softpro.doc.SignECDSA, de.softpro.signdocsdk.ISignPKCS7 has been renamed de.softpro.doc.SignPKCS7, SignRSAWrapper, SignECDSAWrapper, and SignPKCS7Wrapper are no longer needed (and no longer available).

An empty array or string instead of null must now be passed to some functions: de.softpro.doc.SignDocDocumentLoader.createPDFA() (aICC), de.softpro.doc.SignDocDocumentLoader.setLicenseKey() (aProduct, aVersion, aToken), de.softpro.doc.SignDocDocumentLoader.setLicenseKey2() (aProduct, aVersion, aToken), de.softpro.doc.SignDocDocument.saveToFile() (aPath), and de.softpro.doc.SignDocVerificationResult.getBiometricData() (aKey, aKeyPath, aPassphrase).

de.softpro.doc.SignDocVerificationResult.getCertificates() and de.softpro.doc.SignDocVerificationResult.getTimeStampCertificates() return an object of new class de.softpro.doc.Blobs.