Documenten digitaal ondertekenen en certificeren digitally-signing-and-certifying-documents
Informatie over de Handtekeningenservice
Met de service Handtekening kunt u de beveiliging en privacy beschermen van Adobe PDF-documenten die door uw organisatie worden gedistribueerd en ontvangen. Deze service gebruikt digitale handtekeningen en certificering om ervoor te zorgen dat alleen de beoogde ontvangers documenten kunnen wijzigen. Omdat beveiligingsfuncties op het document zelf worden toegepast, blijft het document gedurende de gehele levenscyclus beveiligd en beheerd. Een document blijft veilig buiten de firewall, wanneer het offline wordt gedownload en wanneer het terug naar uw organisatie wordt verzonden.
Namen van handtekeningvelden
Voor sommige bewerkingen van de handtekeningservice moet u de naam opgeven van het handtekeningveld waarop een bewerking wordt uitgevoerd. Als u bijvoorbeeld een PDF-document ondertekent, geeft u de naam op van het handtekeningveld dat u wilt ondertekenen. aannemen dat de volledige naam van een handtekeningveld is form1[0].Form1[0].SignatureField1[0]
. U kunt SignatureField1[0]
in plaats van form1[0].Form1[0].SignatureField1[0]
.
Soms ondertekent de handtekeningservice door een conflict (of voert een andere bewerking uit waarvoor de naam van het handtekeningveld vereist is) het verkeerde veld. Dit conflict is het resultaat van de naam SignatureField1[0]
op twee of meer plaatsen in hetzelfde PDF-document worden weergegeven. Neem bijvoorbeeld een PDF-document dat twee handtekeningvelden bevat met de naam form1[0].Form1[0].SignatureField1[0]
en form1[0].Form1[0].SubForm1[0].SignatureField1[0]
en geeft u SignatureField1[0]
. In dit geval ondertekent de ondertekeningsservice het eerste handtekeningveld dat wordt gevonden terwijl alle handtekeningvelden in het document worden doorlopen.
Als er meerdere handtekeningvelden in een PDF-document staan, is het raadzaam de volledige namen van de handtekeningvelden op te geven. Dat wil zeggen, specificeer form1[0].Form1[0].SignatureField1[0]
in plaats van SignatureField1[0]
.
U kunt deze taken uitvoeren met de service Handtekening:
- Digitale handtekeningvelden toevoegen aan en verwijderen uit een PDF-document. (Zie Handtekeningvelden toevoegen.)
- Haal de namen op van handtekeningvelden in een PDF-document. (Zie Namen van handtekeningvelden ophalen.)
- Handtekeningvelden wijzigen. (Zie Handtekeningvelden wijzigen.)
- PDF-documenten digitaal ondertekenen. (Zie PDF-documenten digitaal ondertekenen.)
- PDF-documenten certificeren. (Zie PDF-documenten certificeren.)
- Digitale handtekeningen in een PDF-document valideren. (Zie Digitale handtekeningen verifiëren.)
- Valideer alle digitale handtekeningen in een PDF-document. (Zie Meerdere digitale handtekeningen controleren.)
- Een digitale handtekening verwijderen uit een handtekeningveld. (Zie Digitale handtekeningen verwijderen.)
Handtekeningvelden toevoegen adding-signature-fields
Digitale handtekeningen worden weergegeven in handtekeningvelden. Dit zijn formuliervelden die een grafische weergave van de handtekening bevatten. Handtekeningvelden kunnen zichtbaar of onzichtbaar zijn. Ondertekenaars kunnen een bestaand handtekeningveld gebruiken of een handtekeningveld programmatisch toevoegen. In beide gevallen moet het handtekeningveld bestaan voordat een PDF-document kan worden ondertekend.
U kunt een handtekeningveld programmatisch toevoegen met de Java API of de API van de Signature-service van de Java-API. U kunt meerdere handtekeningvelden toevoegen aan een PDF-document. echter, moet elke naam van het handtekeningveld uniek zijn.
Overzicht van de stappen summary-of-steps
Als u een handtekeningveld wilt toevoegen aan een PDF-document, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak een handtekeningclient.
- Hiermee wordt een PDF-document opgehaald waaraan een handtekeningveld wordt toegevoegd.
- Voeg een handtekeningveld toe.
- Sla het PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Een handtekeningclient maken
Voordat u programmatically een verrichting van de dienst van de Handtekening kunt uitvoeren, moet u een cliënt van de dienst van de Handtekening tot stand brengen.
Een PDF-document ophalen waaraan een handtekeningveld wordt toegevoegd
U moet een PDF-document verkrijgen waaraan een handtekeningveld wordt toegevoegd.
Een handtekeningveld toevoegen
Als u een handtekeningveld aan een PDF-document wilt toevoegen, geeft u coördinaatwaarden op die de locatie van het handtekeningveld aangeven. (Als u een onzichtbaar handtekeningveld toevoegt, zijn deze waarden niet vereist.) U kunt ook opgeven welke velden in het PDF-document worden vergrendeld nadat een handtekening is toegepast op het handtekeningveld.
Het PDF-document opslaan als een PDF-bestand
Nadat de handtekeningservice een handtekeningveld aan het PDF-document heeft toegevoegd, kunt u het document opslaan als een PDF-bestand zodat gebruikers het kunnen openen in Acrobat of Adobe Reader.
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten digitaal ondertekenen
Handtekeningvelden toevoegen met de Java API add-signature-fields-using-the-java-api
Voeg een handtekeningveld toe met de handtekening-API (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden van de client, zoals adobe-signatures-client.jar, op in het klassepad van uw Java-project.
-
Een handtekeningclient maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Een PDF-document ophalen waaraan een handtekeningveld wordt toegevoegd
- Een
java.io.FileInputStream
object dat het PDF-document vertegenwoordigt waaraan een handtekeningveld wordt toegevoegd door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Een handtekeningveld toevoegen
-
Een
PositionRectangle
object dat de locatie van het handtekeningveld aangeeft met de constructor ervan. Geef binnen de constructor coördinaatwaarden op. -
Maak indien gewenst een
FieldMDPOptions
object dat aangeeft welke velden zijn vergrendeld wanneer een digitale handtekening wordt toegepast op het handtekeningveld. -
Voeg een handtekeningveld toe aan een PDF-document door het
SignatureServiceClient
objectaddSignatureField
en geeft de volgende waarden door:- A
com.adobe.idp
.Document
object dat staat voor het PDF-document waaraan een handtekeningveld wordt toegevoegd. - Een tekenreekswaarde die de naam van het handtekeningveld opgeeft.
- A
java.lang.Integer
waarde die staat voor het paginanummer waaraan een handtekeningveld wordt toegevoegd. - A
PositionRectangle
object dat de locatie van het handtekeningveld aangeeft. - A
FieldMDPOptions
object dat velden in het PDF-document opgeeft die zijn vergrendeld nadat een digitale handtekening is toegepast op het handtekeningveld. Deze parameterwaarde is optioneel en u kunt deze doorgevennull
.
- A
-
A
PDFSeedValueOptions
-object dat verschillende runtimewaarden opgeeft. Deze parameterwaarde is optioneel en u kunt deze doorgevennull
.De
addSignatureField
methode retourneert eencom.adobe.idp
.Document
object dat staat voor een PDF-document dat een handtekeningveld bevat.
note note NOTE U kunt de SignatureServiceClient
objectaddInvisibleSignatureField
methode om een onzichtbaar handtekeningveld toe te voegen. -
-
Het PDF-document opslaan als een PDF-bestand
- Een
java.io.File
en zorg dat de bestandsextensie .pdf is. - De
com.adobe.idp
.Document
objectcopyToFile
methode om de inhoud van deDocument
naar het bestand. Zorg ervoor dat u decom.adobe.idp
.Document
object dat is geretourneerd door deaddSignatureField
methode.
- Een
Zie ook
Handtekeningenservice-API - Snel aan de slag
Handtekeningvelden toevoegen met de webservice-API add-signature-fields-using-the-web-service-api
Een handtekeningveld toevoegen met de handtekening-API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Een PDF-document ophalen waaraan een handtekeningveld wordt toegevoegd
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om het PDF-document op te slaan dat een handtekeningveld zal bevatten. - Een
System.IO.FileStream
door de constructor aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
eigenschap met de inhoud van de bytearray.
- Een
-
Een handtekeningveld toevoegen
Voeg een handtekeningveld toe aan het PDF-document door het
SignatureServiceClient
objectaddSignatureField
en geeft de volgende waarden door:- A
BLOB
object dat staat voor het PDF-document waaraan een handtekeningveld wordt toegevoegd. - Een tekenreekswaarde die de naam van het handtekeningveld aangeeft.
- Een geheel getal dat staat voor het paginanummer waaraan een handtekeningveld wordt toegevoegd.
- A
PositionRect
object dat de locatie van het handtekeningveld aangeeft. - A
FieldMDPOptions
object dat velden in het PDF-document opgeeft die zijn vergrendeld nadat een digitale handtekening is toegepast op het handtekeningveld. Deze parameterwaarde is optioneel en u kunt deze doorgevennull
. - A
PDFSeedValueOptions
-object dat verschillende runtimewaarden opgeeft. Deze parameterwaarde is optioneel en u kunt deze doorgevennull
.
De
addSignatureField
methode retourneert eenBLOB
object dat staat voor een PDF-document dat een handtekeningveld bevat. - A
-
Het PDF-document opslaan als een PDF-bestand
- Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het PDF-document dat het handtekeningveld en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOB
object dat is geretourneerd door deaddSignatureField
methode. Vul de bytearray met de waarde van deBLOB
objectbinaryData
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
Namen van handtekeningvelden ophalen retrieving-signature-field-names
U kunt de namen ophalen van alle handtekeningvelden die zich bevinden in een PDF-document dat u wilt ondertekenen of certificeren. Als u niet zeker weet welke namen van handtekeningvelden zich in een PDF-document bevinden of als u de namen wilt verifiëren, kunt u deze via programmacode ophalen. De service Handtekening retourneert de volledig gekwalificeerde naam van het handtekeningveld, zoals form1[0].grantApplication[0].page1[0].SignatureField1[0]
.
Overzicht van de stappen summary_of_steps-1
Voer de volgende taken uit om de namen van handtekeningvelden op te halen:
- Inclusief projectbestanden.
- Maak een handtekeningclient.
- Hiermee wordt het PDF-document opgehaald dat handtekeningvelden bevat.
- Haal de namen van de handtekeningvelden op.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Voor informatie over de locatie van deze JAR-bestanden raadpleegt u Inclusief AEM Forms Java-bibliotheekbestanden.
Een handtekeningclient maken
Voordat u programmatically een verrichting van de dienst van de Handtekening kunt uitvoeren, moet u een cliënt van de dienst van de Handtekening tot stand brengen.
Hiermee wordt het PDF-document opgehaald dat handtekeningvelden bevat
Hiermee wordt een PDF-document opgehaald dat handtekeningvelden bevat.
De namen van handtekeningvelden ophalen
U kunt namen van handtekeningvelden ophalen nadat u een PDF-document hebt opgehaald dat een of meer handtekeningvelden bevat.
Zie ook
Namen van handtekeningvelden ophalen met de Java API
Handtekeningveld ophalen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Namen van handtekeningvelden ophalen met de Java API retrieve-signature-field-names-using-the-java-api
Namen van handtekeningvelden ophalen met de handtekening-API (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden van de client, zoals adobe-signatures-client.jar, op in het klassepad van uw Java-project.
-
Een handtekeningclient maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Hiermee wordt het PDF-document opgehaald dat handtekeningvelden bevat
- Een
java.io.FileInputStream
-object dat staat voor het PDF-document dat handtekeningvelden bevat, door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
De namen van handtekeningvelden ophalen
- Haal de namen van de handtekeningvelden op door het
SignatureServiceClient
objectgetSignatureFieldList
en het doorgeven van decom.adobe.idp.Document
object dat het PDF-document bevat dat handtekeningvelden bevat. Deze methode retourneert eenjava.util.List
object, waarin elk element eenPDFSignatureField
object. Met dit object kunt u aanvullende informatie verkrijgen over een handtekeningveld, bijvoorbeeld of dit zichtbaar is. - Doorlopen
java.util.List
-object om te bepalen of er namen van handtekeningvelden zijn. Voor elk handtekeningveld in het PDF-document kunt u een apart veld aanvragenPDFSignatureField
object. Als u de naam van het handtekeningveld wilt opvragen, roept u hetPDFSignatureField
objectgetName
methode. Deze methode retourneert een tekenreekswaarde die de naam van het handtekeningveld opgeeft.
- Haal de namen van de handtekeningvelden op door het
Zie ook
Namen van handtekeningvelden ophalen
Snel starten (SOAP-modus): Namen van handtekeningvelden ophalen met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Handtekeningveld ophalen met de webservice-API retrieve-signature-field-using-the-web-service-api
Namen van handtekeningvelden ophalen met de handtekening-API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Hiermee wordt het PDF-document opgehaald dat handtekeningvelden bevat
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om het PDF-document op te slaan dat handtekeningvelden bevat. - Een
System.IO.FileStream
door de constructor aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
veld de inhoud van de bytearray.
- Een
-
De namen van handtekeningvelden ophalen
- Haal de namen van handtekeningvelden op door deze aan te roepen
SignatureServiceClient
objectgetSignatureFieldList
en het doorgeven van deBLOB
object dat het PDF-document bevat dat handtekeningvelden bevat. Deze methode retourneert eenMyArrayOfPDFSignatureField
verzamelingsobject waarin elk element eenPDFSignatureField
object. - Doorlopen
MyArrayOfPDFSignatureField
object om te bepalen of er namen van handtekeningvelden zijn. Voor elk handtekeningveld in het PDF-document kunt u eenPDFSignatureField
object. Als u de naam van het handtekeningveld wilt opvragen, roept u hetPDFSignatureField
objectgetName
methode. Deze methode retourneert een tekenreekswaarde die de naam van het handtekeningveld opgeeft.
- Haal de namen van handtekeningvelden op door deze aan te roepen
Zie ook
Namen van handtekeningvelden ophalen
AEM Forms aanroepen met SwaRef
Handtekeningvelden wijzigen modifying-signature-fields
U kunt handtekeningvelden die zich in een PDF-document bevinden, wijzigen met de Java API en de webservice-API. Als u een handtekeningveld wijzigt, moet u de vergrendelingswoordenboekwaarden van het handtekeningveld of de waarden van het zaadwaardewoordenboek bewerken.
A veldvergrendelingswoordenboek Hiermee geeft u een lijst op met velden die zijn vergrendeld wanneer het handtekeningveld wordt ondertekend. Een vergrendeld veld voorkomt dat gebruikers wijzigingen in het veld aanbrengen. A zaadwaardewoordenboek bevat beperkende informatie die wordt gebruikt op het moment dat de handtekening wordt toegepast. U kunt bijvoorbeeld machtigingen wijzigen die de acties bepalen die kunnen plaatsvinden zonder een handtekening ongeldig te maken.
Door een bestaand handtekeningveld te wijzigen, kunt u wijzigingen aanbrengen in het PDF-document in overeenstemming met veranderende zakelijke vereisten. Voor een nieuwe bedrijfsvereiste moeten bijvoorbeeld alle documentvelden worden vergrendeld nadat het document is ondertekend.
In deze sectie wordt uitgelegd hoe u een handtekeningveld kunt wijzigen door de woordenboekwaarden voor veldvergrendeling en zaadwaarden te wijzigen. Als u wijzigingen aanbrengt in het vergrendelingswoordenboek van het handtekeningveld, worden alle velden in het PDF-document vergrendeld wanneer een handtekeningveld wordt ondertekend. Wijzigingen in het woordenboek voor zaadwaarden staan bepaalde typen wijzigingen in het document niet toe.
Overzicht van de stappen summary_of_steps-2
Voer de volgende taken uit om handtekeningvelden in een PDF-document te wijzigen:
- Inclusief projectbestanden.
- Maak een handtekeningclient.
- Hiermee wordt het PDF-document opgehaald dat het handtekeningveld bevat dat u wilt wijzigen.
- Stel woordenboekwaarden in.
- Wijzig het handtekeningveld.
- Sla het PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Voor informatie over de locatie van deze JAR-bestanden raadpleegt u Inclusief LiveCycle Java-bibliotheekbestanden.
Een handtekeningclient maken
Voordat u programmatically een verrichting van de dienst van de Handtekening kunt uitvoeren, moet u een cliënt van de dienst van de Handtekening tot stand brengen.
Hiermee wordt het PDF-document opgehaald dat het handtekeningveld bevat dat moet worden gewijzigd
Hiermee wordt een PDF-document opgehaald dat het handtekeningveld bevat dat u wilt wijzigen.
Woordenboekwaarden instellen
Als u een handtekeningveld wilt wijzigen, wijst u waarden toe aan het bijbehorende veldvergrendelingswoordenboek of het bijbehorende zaadwaardewoordenboek. Als u woordenboekwaarden voor handtekeningvelden opgeeft, moet u PDF-documentvelden opgeven die zijn vergrendeld wanneer het handtekeningveld wordt ondertekend. (In deze sectie wordt besproken hoe u alle velden kunt vergrendelen.)
U kunt de volgende zaadwaardewoordenboekwaarden instellen:
-
Revisiecontrole: Hiermee wordt opgegeven of de intrekkingscontrole wordt uitgevoerd wanneer een handtekening wordt toegepast op het handtekeningveld.
-
Certificaatopties: Wijst waarden toe aan het certificaatzaadwaardewoordenboek. Voordat u certificaatopties opgeeft, is het raadzaam bekend te raken met een certificaatzaadwaardewoordenboek. (Zie PDF-referentie.)
-
Opties voor overzicht: Hiermee wijst u samenvattingsalgoritmen toe die worden gebruikt voor ondertekening. Geldige waarden zijn SHA1, SHA256, SHA384, SHA512 en RIPEMD160.
-
Filter: Hiermee wordt het filter opgegeven dat wordt gebruikt met het handtekeningveld. U kunt bijvoorbeeld het filter Adobe.PPKLite gebruiken. (Zie PDF-referentie.)
-
Vlagopties: Hiermee geeft u de vlagwaarden op die aan dit handtekeningveld zijn gekoppeld. De waarde 1 houdt in dat een ondertekenaar alleen de opgegeven waarden voor het item moet gebruiken. De waarde 0 houdt in dat andere waarden zijn toegestaan. Hier zijn de posities van het Beetje:
- 1(Filter): De handtekening-handler die moet worden gebruikt om het handtekeningveld te ondertekenen
- 2 (SubFilter): Een array met namen die aangeven welke coderingen acceptabel zijn voor ondertekening
- 3 (V): Het minimaal vereiste versienummer van de handtekening-handler dat moet worden gebruikt om het handtekeningveld te ondertekenen
- 4 (Redenen): Een array met tekenreeksen die mogelijke redenen voor het ondertekenen van een document opgeven
- 5 (PDFLegalWarnings): Een array van tekenreeksen die mogelijke juridische attestaties opgeven
-
Juridische verklaringen: Wanneer een document wordt gecertificeerd, wordt het automatisch gescand op specifieke typen inhoud die de zichtbare inhoud van een document dubbelzinnig of misleidend kunnen maken. Een annotatie kan bijvoorbeeld tekst die belangrijk is voor het begrijpen van wat wordt gecertificeerd, onduidelijk maken. Het scanproces genereert waarschuwingen die de aanwezigheid van dit type inhoud aangeven. Het verstrekt ook een extra verklaring van de inhoud die waarschuwingen kan hebben veroorzaakt.
-
Machtigingen: Hiermee geeft u machtigingen op die kunnen worden gebruikt voor een PDF-document zonder dat de handtekening ongeldig wordt gemaakt.
-
Redenen: Hiermee geeft u aan waarom dit document moet worden ondertekend.
-
Tijdstempel: Hiermee geeft u opties voor tijdstempeling op. U kunt bijvoorbeeld de URL instellen van de gebruikte tijdstempelserver.
-
Versie: Hiermee wordt het minimale versienummer opgegeven van de handtekening-handler die moet worden gebruikt om het handtekeningveld te ondertekenen.
Het handtekeningveld wijzigen
Nadat u een client voor de handtekeningenservice hebt gemaakt, kunt u het PDF-document ophalen dat het handtekeningveld bevat dat u wilt wijzigen en woordenboekwaarden instellen. Vervolgens kunt u de handtekeningservice de opdracht geven het handtekeningveld te wijzigen. De handtekeningservice retourneert vervolgens een PDF-document dat het gewijzigde handtekeningveld bevat. Dit heeft geen invloed op het oorspronkelijke PDF-document.
Het PDF-document opslaan als een PDF-bestand
Sla het PDF-document met het gewijzigde handtekeningveld op als een PDF-bestand zodat gebruikers het kunnen openen in Acrobat of Adobe Reader.
Zie ook
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Handtekeningenservice-API - Snel aan de slag
PDF-documenten digitaal ondertekenen
Handtekeningvelden wijzigen met de Java API modify-signature-fields-using-the-java-api
Wijzig een handtekeningveld met de handtekening-API (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden van de client, zoals adobe-signatures-client.jar, op in het klassenpad van uw Java-project.
-
Een handtekeningclient maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Hiermee wordt het PDF-document opgehaald dat het handtekeningveld bevat dat moet worden gewijzigd
- Een
java.io.FileInputStream
object dat staat voor het PDF-document dat het handtekeningveld bevat dat moet worden gewijzigd met de constructor ervan en dat een tekenreekswaarde doorgeeft die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Woordenboekwaarden instellen
- Een
PDFSignatureFieldProperties
object met behulp van de constructor. APDFSignatureFieldProperties
In dit object worden het handtekeningveld vergrendelingswoordenboek en de zaadwaardewoordenboekgegevens opgeslagen. - Een
PDFSeedValueOptionSpec
object met behulp van de constructor. Met dit object kunt u woordenboekwaarden voor zaadwaarden instellen. - Wijzigingen in het PDF-document niet toestaan door het aanroepen van de
PDFSeedValueOptionSpec
objectsetMdpValue
en het doorgeven van deMDPPermissions.NoChanges
opsommingswaarde. - Een
FieldMDPOptionSpec
object met behulp van de constructor. Met dit object kunt u woordenboekwaarden voor handtekeningveldvergrendeling instellen. - Vergrendel alle velden in het PDF-document door het
FieldMDPOptionSpec
objectsetMdpValue
en het doorgeven van deFieldMDPAction.ALL
opsommingswaarde. - Stel de woordenboekgegevens voor zaadwaarden in door de
PDFSignatureFieldProperties
objectsetSeedValue
en het doorgeven van dePDFSeedValueOptionSpec
object. - Vergrendelingswoordenboekgegevens voor handtekeningvelden instellen door het
PDFSignatureFieldProperties
objectsetFieldMDP
en het doorgeven van deFieldMDPOptionSpec
object.
note note NOTE Als u alle waarden wilt zien die u kunt instellen in het zaadwaardewoordenboek, raadpleegt u de PDFSeedValueOptionSpec
klasseverwijzing. (Zie AEM Forms API-naslag.) - Een
-
Het handtekeningveld wijzigen
Wijzig het handtekeningveld door het
SignatureServiceClient
objectmodifySignatureField
en geeft de volgende waarden door:- De
com.adobe.idp.Document
object waarin het PDF-document is opgeslagen dat het handtekeningveld bevat dat moet worden gewijzigd - Een tekenreekswaarde die de naam van het handtekeningveld opgeeft
- De
PDFSignatureFieldProperties
object dat woordenboekwoordenlijst voor handtekeningvelden en zaadwaardewoordenboekgegevens opslaat
De
modifySignatureField
methode retourneert eencom.adobe.idp.Document
object dat een PDF-document opslaat dat het gewijzigde handtekeningveld bevat. - De
-
Het PDF-document opslaan als een PDF-bestand
- Een
java.io.File
en zorg ervoor dat de bestandsnaamextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
naar het bestand. Zorg ervoor dat u decom.adobe.idp.Document
object datmodifySignatureField
geretourneerde methode.
- Een
Handtekeningvelden wijzigen met de webservice-API modify-signature-fields-using-the-web-service-api
Wijzig een handtekeningveld met de handtekening-API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Hiermee wordt het PDF-document opgehaald dat het handtekeningveld bevat dat moet worden gewijzigd
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om het PDF-document op te slaan dat het handtekeningveld bevat dat moet worden gewijzigd. - Een
System.IO.FileStream
door de constructor aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
geeft de inhoud van de bytearray op.
- Een
-
Woordenboekwaarden instellen
- Een
PDFSignatureFieldProperties
object met behulp van de constructor. In dit object worden het handtekeningveldvergrendelingswoordenboek en de zaadwaardewoordenboekgegevens opgeslagen. - Een
PDFSeedValueOptionSpec
object met behulp van de constructor. Met dit object kunt u woordenboekwaarden voor zaadwaarden instellen. - Wijzigingen in het PDF-document negeren door de opdracht
MDPPermissions.NoChanges
opsommingswaarde voor dePDFSeedValueOptionSpec
objectmdpValue
lid. - Een
FieldMDPOptionSpec
object met behulp van de constructor. Met dit object kunt u woordenboekwaarden voor handtekeningveldvergrendeling instellen. - Vergrendel alle velden in het PDF-document door de opdracht
FieldMDPAction.ALL
opsommingswaarde voor deFieldMDPOptionSpec
objectmdpValue
lid. - U kunt woordenboekgegevens voor zaadwaarden instellen door de opdracht
PDFSeedValueOptionSpec
aanPDFSignatureFieldProperties
objectseedValue
lid. - Vergrendelingswoordenboekgegevens voor handtekeningvelden instellen door de opdracht
FieldMDPOptionSpec
aanPDFSignatureFieldProperties
objectfieldMDP
lid.
note note NOTE Als u alle waarden wilt zien die u kunt instellen in het zaadwaardewoordenboek, raadpleegt u de PDFSeedValueOptionSpec
klasseverwijzing. (Zie AEM Forms API-naslag). - Een
-
Het handtekeningveld wijzigen
Wijzig het handtekeningveld door het
SignatureServiceClient
objectmodifySignatureField
en geeft de volgende waarden door:- De
BLOB
object waarin het PDF-document is opgeslagen dat het handtekeningveld bevat dat moet worden gewijzigd - Een tekenreekswaarde die de naam van het handtekeningveld opgeeft
- De
PDFSignatureFieldProperties
object dat woordenboekwoordenlijst voor handtekeningvelden en zaadwaardewoordenboekgegevens opslaat
De
modifySignatureField
methode retourneert eenBLOB
object dat een PDF-document opslaat dat het gewijzigde handtekeningveld bevat. - De
-
Het PDF-document opslaan als een PDF-bestand
- Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het PDF-document dat het handtekeningveld zal bevatten, en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOB
object dataddSignatureField
methode retourneert. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
PDF-documenten digitaal ondertekenen digitally-signing-pdf-documents
Digitale handtekeningen kunnen op PDF-documenten worden toegepast om een beveiligingsniveau te bieden. Digitale handtekeningen bieden, net als handgeschreven handtekeningen, een manier waarop ondertekenaars zichzelf identificeren en instructies over een document maken. De technologie die wordt gebruikt om documenten digitaal te ondertekenen, helpt ervoor te zorgen dat zowel de ondertekenaar als de ontvangers duidelijk zijn over wat is ondertekend en er zeker van zijn dat het document niet is gewijzigd sinds het werd ondertekend.
De documenten van PDF worden ondertekend door middel van openbare-sleuteltechnologie. Een ondertekenaar heeft twee toetsen: een openbare sleutel en een persoonlijke sleutel. De persoonlijke sleutel wordt opgeslagen in de referentie van een gebruiker die beschikbaar moet zijn op het moment van ondertekening. De openbare sleutel wordt opgeslagen in het certificaat van de gebruiker dat aan ontvangers moet beschikbaar zijn om de handtekening te bevestigen. Informatie over ingetrokken certificaten vindt u in de certificaatintrekkingslijsten (CRL's) en de online certificaatstatusprotocollen (OCSP's) die door de certificeringsinstanties (CA's) worden verspreid. De tijd van het ondertekenen kan van een vertrouwde op bron worden verkregen die als Tijdstempelinstantie wordt bekend.
U kunt PDF-documenten programmatisch digitaal ondertekenen. Bij het digitaal ondertekenen van een PDF-document moet u verwijzen naar een beveiligingsreferentie die in AEM Forms bestaat. De referentie is de persoonlijke sleutel die wordt gebruikt voor ondertekening.
De handtekeningservice voert de volgende stappen uit wanneer een PDF-document wordt ondertekend:
- De dienst van de Handtekening wint de referentie van Truststore terug door de alias over te gaan die in het verzoek wordt gespecificeerd.
- De Truststore zoekt naar de opgegeven referentie.
- De referentie wordt geretourneerd aan de service Handtekening en wordt gebruikt om het document te ondertekenen. De referentie wordt ook in de cache geplaatst bij de alias voor toekomstige aanvragen.
Zie de handleiding* Installing and Deploying AEM Forms* voor uw toepassingsserver voor informatie over de verwerking van de beveiligingsreferentie.
PDFOperationException
. Om dit probleem op te lossen, zet het XDP-bestand om in een PDF-bestand met behulp van de service Hulpprogramma's voor PDF en geeft u het geconverteerde PDF-bestand vervolgens door aan een handtekeningservice-bewerking. (Zie Werken met hulpprogramma's voor PDF.)Kipher nShield HSM-referentie
Wanneer u een Cipher nShield HSM-referentie gebruikt om een PDF-document te ondertekenen of certificeren, kan de nieuwe referentie pas worden gebruikt als de J2EE-toepassingsserver waarop AEM Forms is geïmplementeerd, opnieuw is gestart. U kunt echter een configuratiewaarde instellen, wat resulteert in het ondertekenen of certificeren van de bewerking zonder de J2EE-toepassingsserver opnieuw te starten.
U kunt de volgende configuratiewaarde toevoegen in het cknfastrc-bestand, dat zich bevindt op /opt/nfast/cknfastrc (of c:\nfast\cknfastrc):
CKNFAST_ASSUME_SINGLE_PROCESS=0
Nadat u deze configuratiewaarde aan het cknfastrc dossier toevoegt, kan de nieuwe referentie worden gebruikt zonder de J2EE toepassingsserver opnieuw te beginnen.
De handtekening wordt niet vertrouwd
Als bij het certificeren en ondertekenen van hetzelfde PDF-document de certificerende handtekening niet wordt vertrouwd, wordt bij het openen van het PDF-document in Acrobat of Adobe Reader een geel driehoekje weergegeven naast de eerste handtekening. De handtekening voor certificering moet worden vertrouwd om deze situatie te voorkomen.
Documenten ondertekenen die op XFA gebaseerde formulieren zijn
Als u probeert een XFA-formulier te ondertekenen met de API van de handtekeningenservice, ontbreken de gegevens mogelijk in het dialoogvenster View
Signed
Version
in Acrobat. Neem bijvoorbeeld de volgende workflow:
- Met behulp van een XDP-bestand dat is gemaakt met Designer, voegt u een formulierontwerp samen dat een handtekeningveld en XML-gegevens bevat die formuliergegevens bevatten. Met de Forms-service kunt u een interactief PDF-document genereren.
- U ondertekent het PDF-document met de API van de handtekeningenservice.
Overzicht van de stappen summary_of_steps-3
Voer de volgende taken uit om een PDF-document digitaal te ondertekenen:
- Inclusief projectbestanden.
- Maak een handtekeningenservice-client.
- Hiermee wordt het PDF-document ter ondertekening aangeboden.
- Onderteken het PDF-document.
- Sla het ondertekende PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Een handtekeningclient maken
Voordat u programmatically een verrichting van de dienst van de Handtekening kunt uitvoeren, moet u een cliënt van de dienst van de Handtekening tot stand brengen.
Het PDF-document laten ondertekenen
Als u een PDF-document wilt ondertekenen, moet u een PDF-document verkrijgen dat een handtekeningveld bevat. Als een PDF-document geen handtekeningveld bevat, kan het niet worden ondertekend. Een handtekeningveld kan worden toegevoegd met Designer of via programmacode.
Het PDF-document ondertekenen
Bij het ondertekenen van een PDF-document kunt u uitvoeringsopties instellen die door de service Handtekening worden gebruikt. U kunt de volgende opties instellen:
- Weergaveopties
- Intrekkingscontrole
- Waarden voor tijdstempels
U stelt weergaveopties in met behulp van een PDFSignatureAppearanceOptionSpec
object. U kunt bijvoorbeeld de datum in een handtekening weergeven door de PDFSignatureAppearanceOptionSpec
object setShowDate
methode en doorgeven true
.
U kunt ook opgeven of een intrekkingscontrole moet worden uitgevoerd die bepaalt of het certificaat dat wordt gebruikt om een PDF-document digitaal te ondertekenen, is ingetrokken. Als u de intrekkingscontrole wilt uitvoeren, kunt u een van de volgende waarden opgeven:
- NoCheck: Intrekkingscontrole niet uitvoeren.
- BestEfficit: Probeer altijd te controleren op intrekking van alle certificaten in de keten. Als er problemen optreden bij het controleren, wordt de intrekking als geldig beschouwd. Als er een fout optreedt, moet u ervan uitgaan dat het certificaat niet is ingetrokken.
- CheckIfAvailable: Controleer of alle certificaten in de keten zijn ingetrokken als er informatie over intrekking beschikbaar is. Als er problemen optreden bij de controle, wordt aangenomen dat de intrekking ongeldig is. Als er een fout optreedt, gaat u ervan uit dat het certificaat is ingetrokken en ongeldig is. (Dit is de standaardwaarde.)
- Altijd controleren: Controleren op intrekking van alle certificaten in de keten. Als er geen intrekkingsinformatie aanwezig is in een certificaat, wordt aangenomen dat de intrekking ongeldig is.
Als u een intrekkingscontrole wilt uitvoeren op een certificaat, kunt u een URL naar een server met een certificaatintrekkingslijst (CRL) opgeven met behulp van een CRLOptionSpec
object. Als u echter een intrekkingscontrole wilt uitvoeren en u geen URL opgeeft naar een CRL-server, verkrijgt de ondertekeningsservice de URL van het certificaat.
In plaats van een CRL-server te gebruiken, kunt u een OCSP-server (online certificate Status Protocol) gebruiken bij het controleren van intrekkingen. Doorgaans wordt de intrekkingscontrole sneller uitgevoerd wanneer een OCSP-server wordt gebruikt in tegenstelling tot een CRL-server. (Zie "Online Certificate Status Protocol" op https://tools.ietf.org/html/rfc2560.)
U kunt de de serverorde plaatsen CRL en OCSP die de dienst van de Handtekening gebruikend de Toepassingen en de Diensten van Adobe gebruikt. Bijvoorbeeld, als de OCSP server eerst in de Toepassingen en de Diensten van Adobe wordt geplaatst, dan wordt de server OCSP gecontroleerd, die door de server CRL wordt gevolgd. (Zie "Certificaten en gegevens beheren met Betrouwbaarheidsopslag" in de Help van AAC).
Als u opgeeft dat u de intrekkingscontrole niet wilt uitvoeren, controleert de service Handtekening niet of het certificaat dat is gebruikt om een document te ondertekenen of te certificeren, is ingetrokken. Dat wil zeggen dat CRL- en OCSP-serverinformatie wordt genegeerd.
CRLOptionSpec
en OCSPOptionSpec
object. Als u bijvoorbeeld de CRL-server wilt overschrijven, kunt u de opdracht CRLOptionSpec
object setLocalURI
methode.Tijdstempel verwijst naar het proces waarbij de tijd wordt bijgehouden waarop een ondertekend of gecertificeerd document is gewijzigd. Nadat een document is ondertekend, mag het niet meer worden gewijzigd, zelfs niet door de eigenaar van het document. Met tijdstempels kunt u de geldigheid van een ondertekend of gecertificeerd document afdwingen. U kunt opties voor tijdstempels instellen met een TSPOptionSpec
object. U kunt bijvoorbeeld de URL van een server met een tijdstempelprovider (TSP) opgeven.
Als u een PDF-document wilt ondertekenen, kunt u de volledig gekwalificeerde naam opgeven van het handtekeningveld dat de digitale handtekening bevat, zoals form1[0].#subform[1].SignatureField3[3]
. Bij gebruik van een XFA-formulierveld kan ook de gedeeltelijke naam van het handtekeningveld worden gebruikt: SignatureField3[3]
.
U moet ook verwijzen naar een beveiligingsreferentie om een PDF-document digitaal te ondertekenen. Als u naar een beveiligingsreferentie wilt verwijzen, geeft u een alias op. De alias is een verwijzing naar een werkelijke referentie die kan voorkomen in een PKCS#12-bestand (met de extensie .pfx) of een hardwarebeveiligingsmodule (HSM). Zie de handleiding* Installing and Deploying AEM Forms* voor uw toepassingsserver voor informatie over de beveiligingsreferentie.
Ondertekend PDF-document opslaan
Nadat de handtekeningservice het PDF-document digitaal heeft ondertekend, kunt u het opslaan als een PDF-bestand zodat gebruikers het kunnen openen in Acrobat of Adobe Reader.
Zie ook
PDF-documenten digitaal ondertekenen met de Java API
PDF-documenten digitaal ondertekenen met behulp van de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Namen van handtekeningvelden ophalen
PDF-documenten digitaal ondertekenen met de Java API digitally-sign-pdf-documents-using-the-java-api
Een PDF-document digitaal ondertekenen met de handtekening-API (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden van de client, zoals adobe-signatures-client.jar, op in het klassepad van uw Java-project.
-
Een handtekeningclient maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Het PDF-document laten ondertekenen
- Een
java.io.FileInputStream
object dat staat voor het PDF-document dat digitaal moet worden ondertekend met de constructor ervan en dat een tekenreekswaarde doorgeeft die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Het PDF-document ondertekenen
Onderteken het PDF-document door het
SignatureServiceClient
objectsign
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat staat voor het PDF-document dat moet worden ondertekend. - Een tekenreekswaarde die de naam vertegenwoordigt van het handtekeningveld dat de digitale handtekening zal bevatten.
- A
Credential
object dat de referentie vertegenwoordigt die wordt gebruikt om het PDF-document digitaal te ondertekenen. EenCredential
door het object aan te roepenCredential
statisch objectgetInstance
methode en het overgaan van een koordwaarde die de aliaswaarde specificeert die aan de veiligheidsreferentie beantwoordt. - A
HashAlgorithm
object dat een statisch gegevenslid opgeeft dat het hash-algoritme vertegenwoordigt dat moet worden gebruikt om het PDF-document te digest. U kunt bijvoorbeeldHashAlgorithm.SHA1
om het algoritme SHA1 te gebruiken. - Een tekenreekswaarde die de reden vertegenwoordigt waarom het PDF-document digitaal is ondertekend.
- Een tekenreekswaarde die de contactgegevens van de ondertekenaar vertegenwoordigt.
- A
PDFSignatureAppearanceOptions
-object dat de weergave van de digitale handtekening bepaalt. U kunt dit object bijvoorbeeld gebruiken om een aangepast logo toe te voegen aan een digitale handtekening. - A
java.lang.Boolean
object dat aangeeft of de intrekkingscontrole op het certificaat van de ondertekenaar moet worden uitgevoerd. - An
OCSPOptionSpec
-object dat voorkeuren voor ondersteuning van het online certificaatstatusprotocol (OCSP) opslaat. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
CRLPreferences
-object waarin voorkeuren voor certificaatintrekkingslijsten (CRL) zijn opgeslagen. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
TSPPreferences
-object dat voorkeuren opslaat voor ondersteuning van tijdstempelleveranciers (TSP). Deze parameter is optioneel en kannull
. Zie voor meer informatie AEM Forms API-naslag.
De
sign
methode retourneert eencom.adobe.idp.Document
object dat staat voor het ondertekende PDF-document. - A
-
Ondertekend PDF-document opslaan
- Een
java.io.File
en zorg dat de bestandsextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode en doorgevenjava.io.File
om de inhoud van deDocument
naar het bestand. Zorg ervoor dat u decom.adobe.idp.Document
object dat is geretourneerd door design
methode.
- Een
Zie ook
PDF-documenten digitaal ondertekenen
Snel starten (SOAP-modus): Een PDF-document digitaal ondertekenen met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten digitaal ondertekenen met behulp van de webservice-API digitally-signing-pdf-documents-using-the-web-service-api
U kunt als volgt een PDF-document digitaal ondertekenen met de handtekening-API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Het PDF-document laten ondertekenen
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om een ondertekend PDF-document op te slaan. - Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het PDF-document dat moet worden ondertekend, en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
geeft de inhoud van de bytearray op.
- Een
-
Het PDF-document ondertekenen
Onderteken het PDF-document door het
SignatureServiceClient
objectsign
en geeft de volgende waarden door:- A
BLOB
object dat staat voor het PDF-document dat moet worden ondertekend. - Een tekenreekswaarde die de naam vertegenwoordigt van het handtekeningveld dat de digitale handtekening zal bevatten.
- A
Credential
object dat de referentie vertegenwoordigt die wordt gebruikt om het PDF-document digitaal te ondertekenen. EenCredential
object door de constructor ervan te gebruiken en de alias op te geven door een waarde aan het object toe te wijzenCredential
objectalias
eigenschap. - A
HashAlgorithm
object dat een statisch gegevenslid opgeeft dat het hash-algoritme vertegenwoordigt dat moet worden gebruikt om het PDF-document te digest. U kunt bijvoorbeeldHashAlgorithm.SHA1
om het algoritme SHA1 te gebruiken. - Een Booleaanse waarde die opgeeft of het hash-algoritme wordt gebruikt.
- Een tekenreekswaarde die de reden vertegenwoordigt waarom het PDF-document digitaal is ondertekend.
- Een tekenreekswaarde die de locatie van de ondertekenaar vertegenwoordigt.
- Een tekenreekswaarde die de contactgegevens van de ondertekenaar vertegenwoordigt.
- A
PDFSignatureAppearanceOptions
-object dat de weergave van de digitale handtekening bepaalt. U kunt dit object bijvoorbeeld gebruiken om een aangepast logo toe te voegen aan een digitale handtekening. - A
System.Boolean
object dat aangeeft of de intrekkingscontrole op het certificaat van de ondertekenaar moet worden uitgevoerd. Als deze intrekkingscontrole is uitgevoerd, wordt deze ingesloten in de handtekening. De standaardwaarde isfalse
. - An
OCSPOptionSpec
-object dat voorkeuren voor ondersteuning van het online certificaatstatusprotocol (OCSP) opslaat. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. Voor informatie over dit object raadpleegt u AEM Forms API-naslag. - A
CRLPreferences
-object waarin voorkeuren voor certificaatintrekkingslijsten (CRL) zijn opgeslagen. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
TSPPreferences
-object dat voorkeuren opslaat voor ondersteuning van tijdstempelleveranciers (TSP). Deze parameter is optioneel en kannull
.
De
sign
methode retourneert eenBLOB
object dat staat voor het ondertekende PDF-document. - A
-
Ondertekend PDF-document opslaan
- Een
System.IO.FileStream
object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het ondertekende PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOB
object dat is geretourneerd door design
methode. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
PDF-documenten digitaal ondertekenen
AEM Forms aanroepen met SwaRef
Interactieve Forms digitaal ondertekenen digitally-signing-interactive-forms
U kunt een interactief formulier ondertekenen dat door de Forms-service wordt gemaakt. Neem bijvoorbeeld de volgende workflow:
- U voegt een op XFA gebaseerd PDF formulier samen dat is gemaakt met Designer en formuliergegevens die zich in een XML-document bevinden met de Forms-service. Op de Forms-server wordt een interactief formulier weergegeven.
- U ondertekent het interactieve formulier met de API van de handtekeningenservice.
Het resultaat is een digitaal ondertekend interactief PDF-formulier. Wanneer u een PDF-formulier ondertekent dat is gebaseerd op een XFA-formulier, moet u ervoor zorgen dat u het PDF-bestand opslaat als een Adobe Static PDF-formulier. Als u een PDF-formulier probeert te ondertekenen dat is opgeslagen als een Adobe Dynamic PDF-formulier, treedt een uitzondering op. Zorg ervoor dat het formulier een handtekeningveld bevat omdat u het formulier ondertekent dat door de Forms-service wordt geretourneerd.
Wanneer u de Forms Service API gebruikt, stelt u de GenerateServerAppearance
runtime-optie voor true
. Met deze uitvoeringsoptie blijft de weergave van het formulier dat op de server wordt gegenereerd geldig wanneer het in Acrobat of Adobe Reader wordt geopend. Het wordt aanbevolen deze uitvoeringsoptie in te stellen wanneer u een interactief formulier genereert ter ondertekening met de Forms API.
Overzicht van de stappen summary_of_steps-4
Voer de volgende taken uit om een interactief formulier dat de Forms-service retourneert, digitaal te ondertekenen:
- Inclusief projectbestanden.
- Maak een Forms- en Signatures-client.
- Vraag het interactieve formulier aan met de Forms-service.
- Onderteken het interactieve formulier.
- Sla het ondertekende PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-forms-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Voor informatie over de locatie van deze JAR-bestanden raadpleegt u Inclusief AEM Forms Java-bibliotheekbestanden.
Een Forms- en Signatures-client maken
Omdat bij deze workflow zowel de Forms- als de Signature-services worden aangeroepen, kunt u zowel een Forms-serviceclient als een Signature Service-client maken.
Het interactieve formulier ophalen met de Forms-service
U kunt de Forms-service gebruiken om het interactieve PDF-formulier ter ondertekening te verkrijgen. Vanaf AEM Forms kunt u een com.adobe.idp.Document
object maken voor de Forms-service die het formulier bevat dat moet worden gegenereerd. De naam van deze methode is renderPDFForm2
. Deze methode retourneert een com.adobe.idp.Document
object dat het te ondertekenen formulier bevat. U kunt dit doorgeven com.adobe.idp.Document
-instantie naar de service Handtekening.
Op dezelfde manier kunt u als u webservices gebruikt, de BLOB
-instantie die de Forms-service terugstuurt naar de handtekeningservice.
renderPDFForm2
methode.Het interactieve formulier ondertekenen
Bij het ondertekenen van een PDF-document kunt u uitvoeringsopties instellen die door de handtekeningservice worden gebruikt. U kunt de volgende opties instellen:
- Weergaveopties
- Intrekkingscontrole
- Waarden voor tijdstempels
U stelt weergaveopties in met behulp van een PDFSignatureAppearanceOptionSpec
object. U kunt bijvoorbeeld de datum in een handtekening weergeven door de PDFSignatureAppearanceOptionSpec
object setShowDate
methode en doorgeven true
.
Ondertekend PDF-document opslaan
Nadat de handtekeningservice het PDF-document digitaal heeft ondertekend, kunt u het opslaan als een PDF-bestand. Het PDF-bestand kan worden geopend in Acrobat of Adobe Reader.
Zie ook
Een interactief formulier digitaal ondertekenen met de Java API
Een interactief formulier digitaal ondertekenen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten digitaal ondertekenen
Interactieve PDF forms renderen
Een interactief formulier digitaal ondertekenen met de Java API digitally-sign-an-interactive-form-using-the-java-api
Een interactief formulier digitaal ondertekenen met de API voor Forms en handtekening (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden voor clients, zoals adobe-signatures-client.jar en adobe-forms-client.jar, op in het klassepad van uw Java-project.
-
Een Forms- en Signatures-client maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object. - Een
FormsServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Het interactieve formulier ophalen met de Forms-service
-
Een
java.io.FileInputStream
object dat staat voor het PDF-document dat aan de Forms-service moet worden doorgegeven met behulp van de constructor. Geef een tekenreekswaarde door die de locatie van het PDF-document aangeeft. -
Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object. -
Een
java.io.FileInputStream
object dat staat voor het XML-document dat formuliergegevens bevat die met behulp van de constructor aan de Forms-service moeten worden doorgegeven. Geef een tekenreekswaarde door die de locatie van het XML-bestand aangeeft. -
Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object. -
Een
PDFFormRenderSpec
-object dat wordt gebruikt om uitvoeringsopties in te stellen. DePDFFormRenderSpec
objectsetGenerateServerAppearance
methode en doorgeventrue
. -
De
FormsServiceClient
objectrenderPDFForm2
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat het PDF-formulier bevat dat moet worden gegenereerd. - A
com.adobe.idp.Document
object dat gegevens bevat die met het formulier moeten worden samengevoegd. - A
PDFFormRenderSpec
-object dat uitvoeringsopties opslaat. - A
URLSpec
object dat URI-waarden bevat die door de Forms-service worden vereist. U kuntnull
voor deze parameterwaarde. - A
java.util.HashMap
object waarin bestandsbijlagen zijn opgeslagen. Dit is een optionele parameter en u kuntnull
als u geen bestanden aan het formulier wilt koppelen.
De
renderPDFForm2
methode retourneert eenFormsResult
object dat een formuliergegevensstroom bevat - A
-
Haal het PDF-formulier op door het
FormsResult
objectgetOutputContent
methode. Deze methode retourneert eencom.adobe.idp.Document
object dat het interactieve formulier vertegenwoordigt.
-
-
Het interactieve formulier ondertekenen
Onderteken het PDF-document door het
SignatureServiceClient
objectsign
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat staat voor het PDF-document dat moet worden ondertekend. Zorg ervoor dat dit object hetcom.adobe.idp.Document
object dat is verkregen van de Forms-service. - Een tekenreekswaarde die de naam vertegenwoordigt van het handtekeningveld dat wordt ondertekend.
- A
Credential
object dat de referentie vertegenwoordigt die wordt gebruikt om het PDF-document digitaal te ondertekenen. EenCredential
door het object aan te roepenCredential
statisch objectgetInstance
methode. Geef een tekenreekswaarde door die de aliaswaarde opgeeft die overeenkomt met de beveiligingsreferentie. - A
HashAlgorithm
object dat een statisch gegevenslid opgeeft dat het hash-algoritme vertegenwoordigt dat moet worden gebruikt om het PDF-document te digest. U kunt bijvoorbeeldHashAlgorithm.SHA1
om het algoritme SHA1 te gebruiken. - Een tekenreekswaarde die de reden vertegenwoordigt waarom het PDF-document digitaal is ondertekend.
- Een tekenreekswaarde die de contactgegevens van de ondertekenaar vertegenwoordigt.
- A
PDFSignatureAppearanceOptions
-object dat de weergave van de digitale handtekening bepaalt. U kunt dit object bijvoorbeeld gebruiken om een aangepast logo toe te voegen aan een digitale handtekening. - A
java.lang.Boolean
object dat aangeeft of de intrekkingscontrole op het certificaat van de ondertekenaar moet worden uitgevoerd. - An
OCSPPreferences
-object dat voorkeuren voor ondersteuning van het online certificaatstatusprotocol (OCSP) opslaat. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
CRLPreferences
-object waarin voorkeuren voor certificaatintrekkingslijsten (CRL) zijn opgeslagen. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
TSPPreferences
-object dat voorkeuren opslaat voor ondersteuning van tijdstempelleveranciers (TSP). Deze parameter is optioneel en kannull
.
De
sign
methode retourneert eencom.adobe.idp.Document
object dat staat voor het ondertekende PDF-document. - A
-
Ondertekend PDF-document opslaan
- Een
java.io.File
en controleer of de bestandsnaamextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode en doorgevenjava.io.File
om de inhoud van deDocument
naar het bestand. Zorg ervoor dat u decom.adobe.idp.Document
object datsign
geretourneerde methode.
- Een
Zie ook
Interactieve Forms digitaal ondertekenen
Snel starten (SOAP-modus): Een PDF-document digitaal ondertekenen met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Een interactief formulier digitaal ondertekenen met de webservice-API digitally-sign-an-interactive-form-using-the-web-service-api
Een interactief formulier digitaal ondertekenen met de API voor Forms en handtekening (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Omdat deze cliënttoepassing de twee diensten van AEM Forms aanhaalt, creeer twee de dienstverwijzingen. Gebruik de volgende definitie WSDL voor de de dienstverwijzing verbonden aan de dienst van de Handtekening:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.Gebruik de volgende definitie van WSDL voor de de dienstverwijzing verbonden aan de dienst van Forms:
http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
.Omdat
BLOB
het gegevenstype is gemeenschappelijk voor beide de dienstverwijzingen, kwalificeer volledigBLOB
gegevenstype wanneer het gebruiken van het. In de bijbehorende webservice kunt u snel aan de slag metBLOB
exemplaren zijn volledig gekwalificeerd.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een Forms- en Signatures-client maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
note note NOTE Herhaal deze stappen voor de Forms service client. -
-
Het interactieve formulier ophalen met de Forms-service
-
Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om een ondertekend PDF-document op te slaan. -
Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het PDF-document dat moet worden ondertekend, en de modus waarin het bestand moet worden geopend. -
Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. -
De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. -
Vul de
BLOB
object door het toe te wijzenMTOM
geeft de inhoud van de bytearray op. -
Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om formuliergegevens op te slaan. -
Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het XML-bestand dat formuliergegevens bevat, en de modus waarin het bestand moet worden geopend. -
Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. -
De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. -
Vul de
BLOB
object door het toe te wijzenMTOM
geeft de inhoud van de bytearray op. -
Een
PDFFormRenderSpec
-object dat wordt gebruikt om uitvoeringsopties in te stellen. De waarde toewijzentrue
aan dePDFFormRenderSpec
objectgenerateServerAppearance
veld. -
De
FormsServiceClient
objectrenderPDFForm2
en geeft de volgende waarden door:- A
BLOB
object dat het PDF-formulier bevat dat moet worden gegenereerd. - A
BLOB
object dat gegevens bevat die met het formulier moeten worden samengevoegd. - A
PDFFormRenderSpec
-object dat uitvoeringsopties opslaat. - A
URLSpec
object dat URI-waarden bevat die door de Forms-service worden vereist. U kuntnull
voor deze parameterwaarde. - A
java.util.HashMap
object waarin bestandsbijlagen zijn opgeslagen. Dit is een optionele parameter en u kuntnull
als u geen bestanden aan het formulier wilt koppelen. - Een lange uitvoerparameter die wordt gebruikt om het aantal pagina's in het formulier op te slaan.
- Een tekenreeks-uitvoerparameter die wordt gebruikt voor de landinstellingswaarde.
- A
FormResult
waarde die een uitvoerparameter is die wordt gebruikt om het interactieve formulier op te slaan.
- A
-
Het PDF-formulier ophalen door het
FormsResult
objectoutputContent
veld. In dit veld wordt eenBLOB
object dat het interactieve formulier vertegenwoordigt.
-
-
Het interactieve formulier ondertekenen
Onderteken het PDF-document door het
SignatureServiceClient
objectsign
en geeft de volgende waarden door:- A
BLOB
object dat staat voor het PDF-document dat moet worden ondertekend. Gebruik deBLOB
-instantie die door de Forms-service wordt geretourneerd. - Een tekenreekswaarde die de naam vertegenwoordigt van het handtekeningveld dat wordt ondertekend.
- A
Credential
object dat de referentie vertegenwoordigt die wordt gebruikt om het PDF-document digitaal te ondertekenen. EenCredential
object door de constructor ervan te gebruiken en de alias op te geven door een waarde aan het object toe te wijzenCredential
objectalias
eigenschap. - A
HashAlgorithm
object dat een statisch gegevenslid opgeeft dat het hash-algoritme vertegenwoordigt dat moet worden gebruikt om het PDF-document te digest. U kunt bijvoorbeeldHashAlgorithm.SHA1
om het algoritme SHA1 te gebruiken. - Een Booleaanse waarde die opgeeft of het hash-algoritme wordt gebruikt.
- Een tekenreekswaarde die de reden vertegenwoordigt waarom het PDF-document digitaal is ondertekend.
- Een tekenreekswaarde die de locatie van de ondertekenaar vertegenwoordigt.
- Een tekenreekswaarde die de contactgegevens van de ondertekenaar vertegenwoordigt.
- A
PDFSignatureAppearanceOptions
-object dat de weergave van de digitale handtekening bepaalt. U kunt dit object bijvoorbeeld gebruiken om een aangepast logo toe te voegen aan een digitale handtekening. - A
System.Boolean
object dat aangeeft of de intrekkingscontrole op het certificaat van de ondertekenaar moet worden uitgevoerd. Als deze intrekkingscontrole is uitgevoerd, wordt deze ingesloten in de handtekening. De standaardwaarde isfalse
. - An
OCSPPreferences
-object dat voorkeuren voor ondersteuning van het online certificaatstatusprotocol (OCSP) opslaat. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. Voor informatie over dit object raadpleegt u AEM Forms API-naslag. - A
CRLPreferences
-object waarin voorkeuren voor certificaatintrekkingslijsten (CRL) zijn opgeslagen. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
TSPPreferences
-object dat voorkeuren opslaat voor ondersteuning van tijdstempelleveranciers (TSP). Deze parameter is optioneel en kannull
.
De
sign
methode retourneert eenBLOB
object dat staat voor het ondertekende PDF-document. - A
-
Ondertekend PDF-document opslaan
- Een
System.IO.FileStream
object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het ondertekende PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOB
object dat is geretourneerd door design
methode. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
Interactieve Forms digitaal ondertekenen
PDF-documenten certificeren certifying-pdf-documents
U kunt een PDF-document beveiligen door het te certificeren met een bepaald type handtekening, een zogenaamde gecertificeerde handtekening. Een gecertificeerde handtekening wordt op de volgende manieren onderscheiden van een digitale handtekening:
- Dit moet de eerste handtekening zijn die op het PDF-document wordt toegepast; Dit betekent dat op het moment dat de gecertificeerde handtekening wordt toegepast, alle andere handtekeningvelden in het document niet-ondertekend moeten zijn. Er is slechts één gecertificeerde handtekening toegestaan in een PDF-document. Als u een PDF-document wilt ondertekenen en certificeren, moet u het certificeren voordat u het ondertekent. Nadat u een PDF-document hebt gecertificeerd, kunt u digitale extra handtekeningvelden ondertekenen.
- De auteur of maker van het document kan opgeven dat het document op bepaalde manieren kan worden gewijzigd zonder de gecertificeerde handtekening ongeldig te maken. Het document kan bijvoorbeeld het invullen van formulieren of het plaatsen van opmerkingen toestaan. Als de auteur aangeeft dat een bepaalde wijziging niet is toegestaan, beperkt Acrobat gebruikers het document op die manier te wijzigen. Als dergelijke wijzigingen worden aangebracht, bijvoorbeeld door een andere toepassing te gebruiken, is de gecertificeerde handtekening ongeldig en geeft Acrobat een waarschuwing wanneer een gebruiker het document opent. (Bij niet-gecertificeerde handtekeningen zijn wijzigingen niet mogelijk en maken normale bewerkingsbewerkingen de oorspronkelijke handtekening niet ongeldig.)
- Op het moment van ondertekening wordt het document gescand op specifieke typen inhoud die de inhoud van een document dubbelzinnig of misleidend kunnen maken. Een annotatie kan bijvoorbeeld bepaalde tekst op een pagina verbergen die belangrijk is voor het begrijpen van wat wordt gecertificeerd. Over deze inhoud kan een toelichting (wettelijke verklaring) worden gegeven.
U kunt PDF-documenten programmatisch certificeren met de Java API voor de handtekeningenservice of de API voor de handtekeningwebservice. Wanneer u een PDF-document certificeert, moet u verwijzen naar een beveiligingsreferentie in de Credential-service. Voor informatie over de veiligheidsreferentie raadpleegt u de AEM Forms installeren en implementeren handleiding voor uw toepassingsserver.
U kunt de volgende configuratiewaarde toevoegen in het cknfastrc-bestand, dat zich bevindt op /opt/nfast/cknfastrc (of c:\nfast\cknfastrc):
CKNFAST_ASSUME_SINGLE_PROCESS=0
Nadat u deze configuratiewaarde aan het cknfastrc dossier toevoegt, kan de nieuwe referentie worden gebruikt zonder de J2EE toepassingsserver opnieuw te beginnen.
Overzicht van de stappen summary_of_steps-5
Voer de volgende taken uit om een PDF-document te certificeren:
- Inclusief projectbestanden.
- Maak een handtekeningclient.
- Laat het PDF-document certificeren.
- Certificeer het PDF-document.
- Sla het gecertificeerde PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, dient u de proxybestanden op te nemen.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Voor informatie over de locatie van deze JAR-bestanden raadpleegt u Inclusief AEM Forms Java-bibliotheekbestanden.
Een handtekeningclient maken
Voordat u een handtekeningbewerking programmatisch kunt uitvoeren, moet u een handtekeningclient maken.
Laat het PDF-document certificeren
Als u een PDF-document wilt certificeren, moet u een PDF-document verkrijgen dat een handtekeningveld bevat. Als een PDF-document geen handtekeningveld bevat, kan het niet worden gecertificeerd. Een handtekeningveld kan worden toegevoegd met Designer of via programmacode. Voor informatie over het programmatically toevoegen van een handtekeningsgebied, zie Handtekeningvelden toevoegen.
Het PDF-document certificeren
Als u een PDF-document wilt certificeren, hebt u de volgende invoerwaarden nodig die door de service Handtekening worden gebruikt voor de certificering van een PDF-document:
- PDF-document: Een PDF-document dat een handtekeningveld bevat. Dit is een formulierveld dat een grafische weergave van de gecertificeerde handtekening bevat. Een PDF-document moet een handtekeningveld bevatten voordat het kan worden gecertificeerd. Een handtekeningveld kan worden toegevoegd met Designer of via programmacode. (Zie Handtekeningvelden toevoegen.)
- Naam van handtekeningveld: De volledig gekwalificeerde naam van het handtekeningveld dat is gecertificeerd. De volgende waarde is een voorbeeld:
form1[0].#subform[1].SignatureField3[3]
. Bij gebruik van een XFA-formulierveld kan ook de gedeeltelijke naam van het handtekeningveld worden gebruikt:SignatureField3[3]
. Als een null-waarde wordt doorgegeven voor de veldnaam, wordt dynamisch een onzichtbaar handtekeningveld gemaakt en gecertificeerd. - Beveiligingsreferentie: Een referentie die wordt gebruikt om het PDF-document te certificeren. Deze veiligheidsreferentie bevat een wachtwoord en een alias, die een alias moeten aanpassen die in de referentie verschijnt die binnen de Credential dienst wordt gevestigd. De alias is een verwijzing naar een werkelijke referentie die kan voorkomen in een PKCS#12-bestand (met de extensie .pfx) of een hardwarebeveiligingsmodule (HSM).
- Hash-algoritme: Een hash-algoritme voor de samenvatting van het PDF-document.
- Reden voor ondertekening: Een waarde die wordt weergegeven in Acrobat of Adobe Reader zodat andere gebruikers weten waarom het PDF-document is gecertificeerd.
- Locatie van de ondertekenaar: De locatie van de ondertekenaar die door de referentie wordt opgegeven.
- Contactgegevens: Contactgegevens, zoals adres en telefoonnummer, van de ondertekenaar.
- Machtigingsgegevens: Machtigingen die de handelingen besturen die een eindgebruiker op een document kan uitvoeren zonder dat de gecertificeerde handtekening ongeldig wordt. U kunt bijvoorbeeld de machtiging zo instellen dat elke wijziging in het PDF-document ertoe leidt dat de gecertificeerde handtekening ongeldig wordt.
- Rechtsgrond: Wanneer een document wordt gecertificeerd, wordt het automatisch gescand op specifieke typen inhoud die de inhoud van een document dubbelzinnig of misleidend kunnen maken. Een annotatie kan bijvoorbeeld bepaalde tekst op een pagina verbergen die belangrijk is voor het begrijpen van wat wordt gecertificeerd. Tijdens het scanproces worden waarschuwingen over dit type inhoud gegenereerd. Deze waarde biedt een aanvullende uitleg van de inhoud die waarschuwingen heeft gegenereerd.
- Weergaveopties: Opties die de weergave van de gecertificeerde handtekening bepalen. De gecertificeerde handtekening kan bijvoorbeeld datumgegevens weergeven.
- Intrekkingscontrole: Deze waarde geeft aan of de intrekkingscontrole is uitgevoerd voor het certificaat van de ondertekenaar. De standaardinstelling van
false
betekent dat de intrekkingscontrole niet is uitgevoerd. - OCSP-instellingen: Instellingen voor ondersteuning van het online certificaatstatusprotocol (OCSP), dat informatie bevat over de status van de referentie die wordt gebruikt voor de certificering van het PDF-document. U kunt bijvoorbeeld de URL van de server opgeven die informatie bevat over de referentie die u gebruikt om u aan te melden bij het PDF-document.
- CRL-instellingen: Instellingen voor voorkeuren voor certificaatintrekkingslijst (CRL) als de intrekkingscontrole is uitgevoerd. U kunt bijvoorbeeld opgeven om altijd te controleren of een referentie is ingetrokken.
- Tijdstempel: Instellingen die informatie over tijdstempels definiëren die wordt toegepast op de gecertificeerde handtekening. Een tijdstempel geeft aan dat specifieke gegevens voor een bepaald tijdstip zijn vastgesteld. Deze kennis draagt bij tot het opbouwen van een vertrouwensrelatie tussen de ondertekenaar en de verificateur.
Het gecertificeerde PDF-document opslaan als een PDF-bestand
Nadat de handtekeningservice het PDF-document heeft gecertificeerd, kunt u het opslaan als een PDF-bestand zodat gebruikers het kunnen openen in Acrobat of Adobe Reader.
Zie ook
PDF-documenten certificeren met de Java API
PDF-documenten certificeren met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten certificeren met de Java API certify-pdf-documents-using-the-java-api
Een PDF-document certificeren met de handtekening-API (Java):
-
Projectbestanden opnemen
Neem client-JAR-bestanden, zoals adobe-signatures-client.jar, op in het klassenpad van uw Java-project.
-
Een handtekeningclient maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Laat het PDF-document certificeren
- Een
java.io.FileInputStream
-object dat staat voor het PDF-document dat moet worden gecertificeerd door de constructor ervan te gebruiken en een tekenreekswaarde door te geven die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
Het PDF-document certificeren
Certificeer het document van de PDF door te roepen
SignatureServiceClient
objectcertify
en geeft de volgende waarden door:- De
com.adobe.idp.Document
-object dat het te certificeren PDF-document vertegenwoordigt. - Een tekenreekswaarde die de naam vertegenwoordigt van het handtekeningveld dat de handtekening zal bevatten.
- A
Credential
-object dat de referentie vertegenwoordigt die wordt gebruikt voor de certificering van het PDF-document. EenCredential
door het object aan te roepenCredential
statisch objectgetInstance
methode en het overgaan van een koordwaarde die de aliaswaarde specificeert die aan de veiligheidsreferentie beantwoordt. - A
HashAlgorithm
object dat een statisch gegevenslid opgeeft dat het hash-algoritme vertegenwoordigt dat wordt gebruikt om het PDF-document te verteren. U kunt bijvoorbeeldHashAlgorithm.SHA1
om het algoritme SHA1 te gebruiken. - Een tekenreekswaarde die de reden vertegenwoordigt waarom het PDF-document is gecertificeerd.
- Een tekenreekswaarde die de contactgegevens van de ondertekenaar vertegenwoordigt.
- A
MDPPermissions
-object dat handelingen opgeeft die kunnen worden uitgevoerd op het PDF-document dat de handtekening ongeldig maakt. - A
PDFSignatureAppearanceOptions
-object dat de weergave van de gecertificeerde handtekening bepaalt. Wijzig desgewenst de weergave van de handtekening door een methode aan te roepen, zoalssetShowDate
. - Een tekenreekswaarde die een uitleg geeft van welke handelingen de handtekening ongeldig maken.
- A
java.lang.Boolean
object dat aangeeft of de intrekkingscontrole op het certificaat van de ondertekenaar moet worden uitgevoerd. Als deze intrekkingscontrole is uitgevoerd, wordt deze ingesloten in de handtekening. De standaardwaarde isfalse
. - A
java.lang.Boolean
object dat aangeeft of het handtekeningveld dat wordt gecertificeerd, is vergrendeld. Als het veld is vergrendeld, wordt het handtekeningveld gemarkeerd als alleen-lezen, kunnen de eigenschappen ervan niet worden gewijzigd en kan het niet worden gewist door iedereen die niet de vereiste machtigingen heeft. De standaardwaarde isfalse
. - An
OCSPPreferences
-object dat voorkeuren voor ondersteuning van het online certificaatstatusprotocol (OCSP) opslaat. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. Zie voor informatie over dit object AEM Forms API-naslag. - A
CRLPreferences
-object waarin voorkeuren voor certificaatintrekkingslijsten (CRL) zijn opgeslagen. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
TSPPreferences
-object dat voorkeuren opslaat voor ondersteuning van tijdstempelleveranciers (TSP). Nadat u bijvoorbeeld eenTSPPreferences
-object, kunt u de URL van de TSP-server instellen door deTSPPreferences
objectsetTspServerURL
methode. Deze parameter is optioneel en kannull
. Zie voor meer informatie Services Reference for AEM Forms.
De
certify
methode retourneert eencom.adobe.idp.Document
object dat staat voor het gecertificeerde PDF-document. - De
-
Het gecertificeerde PDF-document opslaan als een PDF-bestand
- Een
java.io.File
en zorg dat de bestandsextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode om de inhoud van decom.adobe.idp.Document
naar het bestand.
- Een
Zie ook
Snel starten (SOAP-modus): Een PDF-document certificeren met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
PDF-documenten certificeren met de webservice-API certify-pdf-documents-using-the-web-service-api
Certificeer een PDF-document met de handtekening-API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Laat het PDF-document certificeren
- Een
BLOB
object met behulp van de constructor. DeBLOB
-object wordt gebruikt om een gecertificeerd PDF-document op te slaan. - Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het te certificeren PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
en geeft u de bytearray, de startpositie en de streamlengte door die u wilt lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
data member de inhoud van de bytearray.
- Een
-
Het PDF-document certificeren
Certificeer het document van de PDF door te roepen
SignatureServiceClient
objectcertify
en geeft de volgende waarden door:- De
BLOB
-object dat het te certificeren PDF-document vertegenwoordigt. - Een tekenreekswaarde die de naam vertegenwoordigt van het handtekeningveld dat de handtekening zal bevatten.
- A
Credential
-object dat de referentie vertegenwoordigt die wordt gebruikt voor de certificering van het PDF-document. EenCredential
object met behulp van de constructor en geef de alias op door een waarde toe te wijzen aan deCredential
objectalias
eigenschap. - A
HashAlgorithm
object dat een statisch gegevenslid opgeeft dat het hash-algoritme vertegenwoordigt dat wordt gebruikt om het PDF-document te verteren. U kunt bijvoorbeeldHashAlgorithm.SHA1
om het algoritme SHA1 te gebruiken. - Een Booleaanse waarde die opgeeft of het hash-algoritme wordt gebruikt.
- Een tekenreekswaarde die de reden vertegenwoordigt waarom het PDF-document is gecertificeerd.
- Een tekenreekswaarde die de locatie van de ondertekenaar vertegenwoordigt.
- Een tekenreekswaarde die de contactgegevens van de ondertekenaar vertegenwoordigt.
- An
MDPPermissions
Het lid met statische gegevens van het object dat handelingen opgeeft die kunnen worden uitgevoerd op het PDF-document waardoor de handtekening ongeldig wordt gemaakt. - Een Booleaanse waarde die aangeeft of de
MDPPermissions
object dat als vorige parameterwaarde is doorgegeven. - Een tekenreekswaarde die aangeeft welke handelingen de handtekening ongeldig maken.
- A
PDFSignatureAppearanceOptions
-object dat de weergave van de gecertificeerde handtekening bepaalt. EenPDFSignatureAppearanceOptions
object met behulp van de constructor. U kunt de weergave van de handtekening wijzigen door een van de gegevensleden in te stellen. - A
System.Boolean
object dat aangeeft of de intrekkingscontrole op het certificaat van de ondertekenaar moet worden uitgevoerd. Als deze intrekkingscontrole is uitgevoerd, wordt deze ingesloten in de handtekening. De standaardwaarde isfalse
. - A
System.Boolean
object dat aangeeft of het handtekeningveld dat wordt gecertificeerd, is vergrendeld. Als het veld is vergrendeld, wordt het handtekeningveld gemarkeerd als alleen-lezen, kunnen de eigenschappen ervan niet worden gewijzigd en kan het niet worden gewist door iedereen die niet de vereiste machtigingen heeft. De standaardwaarde isfalse
. - A
System.Boolean
object dat opgeeft of het handtekeningveld vergrendeld is. Dat wil zeggen, als je doorgeefttrue
naar de vorige parameter, dan pastrue
naar deze parameter. - An
OCSPPreferences
-object dat voorkeuren voor ondersteuning van het online certificaatstatusprotocol (OCSP) opslaat. Hiermee wordt informatie gegeven over de status van de referentie die wordt gebruikt voor de certificering van het PDF-document. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
CRLPreferences
-object waarin voorkeuren voor certificaatintrekkingslijsten (CRL) zijn opgeslagen. Als de intrekkingscontrole niet is uitgevoerd, wordt deze parameter niet gebruikt en kunt u opgevennull
. - A
TSPPreferences
-object dat voorkeuren opslaat voor ondersteuning van tijdstempelleveranciers (TSP). Nadat u bijvoorbeeld eenTSPPreferences
-object, kunt u de URL van de TSP instellen door deTSPPreferences
objecttspServerURL
lid. Deze parameter is optioneel en kannull
.
De
certify
methode retourneert eenBLOB
object dat staat voor het gecertificeerde PDF-document. - De
-
Het gecertificeerde PDF-document opslaan als een PDF-bestand
- Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het PDF-document dat het gecertificeerde PDF-document zal bevatten en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOB
object dat is geretourneerd door decertify
methode. Vul de bytearray met de waarde van deBLOB
objectbinaryData
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar een PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
AEM Forms aanroepen met SwaRef
Digitale handtekeningen verifiëren verifying-digital-signatures
Digitale handtekeningen kunnen worden geverifieerd om ervoor te zorgen dat een ondertekend PDF-document niet is gewijzigd en dat de digitale handtekening geldig is. Wanneer u een digitale handtekening verifieert, kunt u de status van de handtekening en de eigenschappen van de handtekening controleren, zoals de identiteit van de ondertekenaar. Voordat u een digitale handtekening vertrouwt, is het raadzaam deze te controleren. Wanneer u een digitale handtekening verifieert, verwijst u naar een PDF-document dat een digitale handtekening bevat.
Stel dat de identiteit van de ondertekenaar onbekend is. Wanneer u het PDF-document in Acrobat opent, wordt in een waarschuwingsbericht aangegeven dat de identiteit van de ondertekenaar onbekend is, zoals in de volgende afbeelding wordt getoond.
Op dezelfde manier kunt u, wanneer u een digitale handtekening programmatisch verifieert, de status van de identiteit van de ondertekenaar bepalen. Als u bijvoorbeeld de digitale handtekening verifieert in het document dat in de vorige illustratie wordt weergegeven, resulteert dit in het feit dat de identiteit van de ondertekenaar onbekend is.
Overzicht van de stappen summary_of_steps-6
Voer de volgende taken uit om een digitale handtekening te verifiëren:
- Inclusief projectbestanden.
- Maak een handtekeningclient.
- Hiermee wordt het PDF-document opgehaald dat de te verifiëren handtekening bevat.
- Stel PKI-runtime-opties in.
- Controleer de digitale handtekening.
- Bepaal de status van de handtekening.
- Bepaal de identiteit van de ondertekenaar.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, neemt u de proxybestanden op.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Voor informatie over de locatie van deze JAR-bestanden raadpleegt u Inclusief AEM Forms Java-bibliotheekbestanden.
Een handtekeningclient maken
Voordat u via programmacode een bewerking in de handtekeningenservice uitvoert, moet u een client voor de handtekeningenservice maken.
Hiermee wordt het PDF-document opgehaald dat de handtekening bevat die moet worden geverifieerd
Als u een PDF-document digitaal wilt ondertekenen of certificeren met een handtekening, vraagt u een PDF-document op dat een handtekening bevat.
PKI-runtime-opties instellen
Stel de volgende PKI-runtimeopties in die de handtekeningservice gebruikt bij het controleren van handtekeningen in een PDF-document:
- Verificatietijd
- Intrekkingscontrole
- Waarden voor tijdstempels
Als onderdeel van het instellen van deze opties kunt u een verificatietijd opgeven. U kunt bijvoorbeeld de huidige tijd selecteren (de tijd op de computer van de validator), die aangeeft dat de huidige tijd moet worden gebruikt. Voor informatie over de verschillende tijdwaarden raadpleegt u de VerificationTime
opsommingswaarde in AEM Forms API-naslag.
U kunt ook opgeven of de intrekkingscontrole moet worden uitgevoerd tijdens het verificatieproces. U kunt bijvoorbeeld een intrekkingscontrole uitvoeren om te bepalen of het certificaat wordt ingetrokken. Zie voor meer informatie over de opties voor intrekkingscontrole de RevocationCheckStyle
opsommingswaarde in AEM Forms API-naslag.
Als u intrekkingscontrole wilt uitvoeren op een certificaat, geeft u een URL op naar een server met een certificaatintrekkingslijst (CRL) met behulp van een CRLOptionSpec
object. Als u echter geen URL opgeeft naar de CRL-server, verkrijgt de handtekeningservice de URL van het certificaat.
In plaats van een CRL-server te gebruiken, kunt u een OCSP-server (online certificate Status Protocol) gebruiken bij het controleren van intrekkingen. Wanneer u een OCSP-server gebruikt in tegenstelling tot een CRL-server, wordt de intrekkingscontrole meestal sneller uitgevoerd. (Zie Online Certificate Status Protocol.)
U kunt de de serverorde plaatsen CRL en OCSP die de dienst van de Ondertekening door de Toepassingen en de Diensten van de Adobe te gebruiken gebruikt. Bijvoorbeeld, als de OCSP server eerst in de Toepassingen en de Diensten van Adobe wordt geplaatst, dan wordt de server OCSP gecontroleerd, die door de server CRL wordt gevolgd.
Als u de intrekkingscontrole niet uitvoert, controleert de service Handtekening niet of het certificaat is ingetrokken. Dat wil zeggen dat CRL- en OCSP-serverinformatie wordt genegeerd.
CRLOptionSpec
en OCSPOptionSpec
object. Als u bijvoorbeeld de CRL-server wilt overschrijven, kunt u de opdracht CRLOptionSpec
object setLocalURI
methode.Tijdstempel is het proces waarbij de tijd wordt bijgehouden waarop een ondertekend of gecertificeerd document is gewijzigd. Nadat een document is ondertekend, kan niemand het wijzigen. Met tijdstempels kunt u de geldigheid van een ondertekend of gecertificeerd document afdwingen. U kunt opties voor tijdstempels instellen met een TSPOptionSpec
object. U kunt bijvoorbeeld de URL van een server met een tijdstempelprovider (TSP) opgeven.
VerificationTime.CURRENT_TIME
en de intrekkingscontrole is ingesteld op RevocationCheckStyle.BestEffort
. Omdat er geen CRL- of OCSP-serverinformatie is opgegeven, wordt de serverinformatie opgehaald uit het certificaat.De digitale handtekening verifiëren
Als u een handtekening wilt verifiëren, geeft u de volledig gekwalificeerde naam op van het handtekeningveld dat de handtekening bevat, zoals form1[0].#subform[1].SignatureField3[3]
. Wanneer u een XFA-formulierveld gebruikt, kunt u ook de gedeeltelijke naam van het handtekeningveld gebruiken: SignatureField3
.
De service Handtekening beperkt standaard de tijd die een document na de validatietijd kan worden ondertekend tot 65 minuten. Als een gebruiker probeert een handtekening op het huidige tijdstip te verifiëren en de ondertekeningstijd later is dan de huidige tijd en binnen 65 minuten, genereert de handtekeningservice geen verificatiefout.
De status van de handtekening bepalen
Als onderdeel van de verificatie van een digitale handtekening kunt u de status van de handtekening controleren.
De identiteit van de ondertekenaar bepalen
U kunt de identiteit van de ondertekenaar bepalen. Dit kan een van de volgende waarden zijn:
- Onbekend: Deze ondertekenaar is onbekend omdat de verificatie van de ondertekenaar niet kan worden uitgevoerd.
- Vertrouwd: Deze ondertekenaar wordt vertrouwd.
- Niet vertrouwd: Deze ondertekenaar wordt niet vertrouwd.
Zie ook
Digitale handtekeningen verifiëren met de Java API
Digitale handtekeningen verifiëren met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Digitale handtekeningen verifiëren met de Java API verify-digital-signatures-using-the-java-api
Verifieer een digitale handtekening met de API van de Handtekeningenservice (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden van de client, zoals adobe-signatures-client.jar, op in het klassepad van uw Java-project.
-
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Hiermee wordt het PDF-document opgehaald dat de handtekening bevat die moet worden geverifieerd
- Een
java.io.FileInputStream
object dat staat voor het PDF-document dat de handtekening bevat die moet worden geverifieerd met behulp van de constructor ervan. Geef een tekenreekswaarde door die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
PKI-runtime-opties instellen
- Een
PKIOptions
object met behulp van de constructor. - Stel de verificatietijd in door de
PKIOptions
objectsetVerificationTime
methode en eenVerificationTime
opsommingswaarde die de verificatietijd opgeeft. - De optie voor intrekkingscontrole instellen door een aanroep te maken
PKIOptions
objectsetRevocationCheckStyle
methode en eenRevocationCheckStyle
opsommingswaarde die aangeeft of een intrekkingscontrole moet worden uitgevoerd.
- Een
-
De digitale handtekening verifiëren
Verifieer de handtekening door de
SignatureServiceClient
objectverify2
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat een digitaal ondertekend of gecertificeerd PDF-document bevat. - Een tekenreekswaarde die staat voor de naam van het handtekeningveld dat de te controleren handtekening bevat.
- A
PKIOptions
object dat PKI-runtimeopties bevat. - A
VerifySPIOptions
instantie die SPI-informatie bevat. U kuntnull
voor deze parameter.
De
verify2
methode retourneert eenPDFSignatureVerificationInfo
object dat informatie bevat die kan worden gebruikt om de digitale handtekening te verifiëren. - A
-
De status van de handtekening bepalen
- De status van de handtekening bepalen door de
PDFSignatureVerificationInfo
objectgetStatus
methode. Deze methode retourneert eenSignatureStatus
object dat de status van de handtekening aangeeft. Als een ondertekend PDF-document bijvoorbeeld niet wordt gewijzigd, retourneert deze methodeSignatureStatus.DocumentSigNoChanges
.
- De status van de handtekening bepalen door de
-
De identiteit van de ondertekenaar bepalen
- Bepaal de identiteit van de ondertekenaar door de
PDFSignatureVerificationInfo
objectgetSigner
methode. Deze methode retourneert eenIdentityInformation
object. - De
IdentityInformation
objectgetStatus
methode om de identiteit van de ondertekenaar te bepalen. Deze methode retourneert eenIdentityStatus
opsommingswaarde die de identiteit opgeeft. Als de ondertekenaar bijvoorbeeld wordt vertrouwd, retourneert deze methodeIdentityStatus.TRUSTED
.
- Bepaal de identiteit van de ondertekenaar door de
Zie ook
Digitale handtekeningen verifiëren
Snel starten (SOAP-modus): Een digitale handtekening verifiëren met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Digitale handtekeningen verifiëren met de webservice-API verify-digital-signatures-using-the-web-service-api
Verifieer een digitale handtekening met behulp van de Signature Service API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Hiermee wordt het PDF-document opgehaald dat de handtekening bevat die moet worden geverifieerd
- Een
BLOB
object met behulp van de constructor. DeBLOB
-object wordt gebruikt om een PDF-document op te slaan dat een digitale of gecertificeerde handtekening bevat die moet worden geverifieerd. - Een
System.IO.FileStream
object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het ondertekende PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
methode. Geef de bytearray, de startpositie en de streamlengte door om te lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
geeft de inhoud van de bytearray op.
- Een
-
PKI-runtime-opties instellen
- Een
PKIOptions
object met behulp van de constructor. - Stel de verificatietijd in door de
PKIOptions
objectverificationTime
lid van de gegevensVerificationTime
opsommingswaarde die de verificatietijd opgeeft. - Stel de optie voor intrekkingscontrole in door de optie
PKIOptions
objectrevocationCheckStyle
lid van de gegevensRevocationCheckStyle
opsommingswaarde die aangeeft of een intrekkingscontrole moet worden uitgevoerd.
- Een
-
De digitale handtekening verifiëren
Verifieer de handtekening door de
SignatureServiceClient
objectverify2
en geeft de volgende waarden door:- De
BLOB
object dat een digitaal ondertekend of gecertificeerd PDF-document bevat. - Een tekenreekswaarde die staat voor de naam van het handtekeningveld dat de te controleren handtekening bevat.
- A
PKIOptions
object dat PKI-runtimeopties bevat. - A
VerifySPIOptions
instantie die SPI-informatie bevat. U kuntnull
voor deze parameter.
De
verify2
methode retourneert eenPDFSignatureVerificationInfo
object dat informatie bevat die kan worden gebruikt om de digitale handtekening te verifiëren. - De
-
De status van de handtekening bepalen
De status van de handtekening bepalen door de waarde van de optie
PDFSignatureVerificationInfo
objectstatus
lid. Dit gegevenslid slaat eenSignatureStatus
object dat de status van de handtekening aangeeft. Als bijvoorbeeld een ondertekend PDF-document wordt gewijzigd, wordtstatus
gegevenslid slaat de waarde opSignatureStatus.DocumentSigNoChanges
. -
De identiteit van de ondertekenaar bepalen
- Bepaal de identiteit van de ondertekenaar door de waarde van het dialoogvenster op te halen
PDFSignatureVerificationInfo
objectsigner
lid. Dit lid retourneert eenIdentityInformation
object. - De
IdentityInformation
objectstatus
gegevenslid om de identiteit van de ondertekenaar te bepalen. Dit gegevenslid retourneert eenIdentityStatus
opsommingswaarde die de identiteit opgeeft. Als de ondertekenaar bijvoorbeeld wordt vertrouwd, retourneert dit lidIdentityStatus.TRUSTED
.
- Bepaal de identiteit van de ondertekenaar door de waarde van het dialoogvenster op te halen
Zie ook
Digitale handtekeningen verifiëren
AEM Forms aanroepen met SwaRef
Meerdere digitale handtekeningen controleren verifying-multiple-digital-signatures
AEM Forms biedt de mogelijkheid om alle digitale handtekeningen te verifiëren die zich in een PDF-document bevinden. Stel dat een PDF-document meerdere digitale handtekeningen bevat als resultaat van een bedrijfsproces waarvoor handtekeningen van meerdere ondertekenaars nodig zijn. Neem bijvoorbeeld een financiële transactie waarvoor zowel de handtekening van een medewerker als die van een manager is vereist. Met de Java API of de webservice-API van de handtekeningenservice kunt u alle handtekeningen in het PDF-document verifiëren. Wanneer u meerdere digitale handtekeningen controleert, kunt u de status en eigenschappen van elke handtekening controleren. Voordat u een digitale handtekening vertrouwt, is het raadzaam deze te verifiëren. U wordt aangeraden bekend te zijn met het controleren van één digitale handtekening.
Overzicht van de stappen summary_of_steps-7
Voer de volgende taken uit om meerdere digitale handtekeningen te verifiëren:
- Inclusief projectbestanden.
- Maak een handtekeningclient.
- Hiermee wordt het PDF-document opgehaald dat de handtekeningen bevat die moeten worden geverifieerd.
- Stel PKI-runtime-opties in.
- Alle digitale handtekeningen ophalen.
- Alle handtekeningen doorlopen.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, neemt u de proxybestanden op.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Voor informatie over de locatie van deze JAR-bestanden raadpleegt u Inclusief AEM Forms Java-bibliotheekbestanden.
Een handtekeningclient maken
Voordat u via programmacode een bewerking in de handtekeningenservice uitvoert, moet u een client voor de handtekeningenservice maken.
Hiermee wordt het PDF-document opgehaald dat de handtekeningen bevat die moeten worden gecontroleerd
Als u een PDF-document digitaal wilt ondertekenen of certificeren met een handtekening, vraagt u een PDF-document op dat een handtekening bevat.
PKI-runtime-opties instellen
Stel de volgende PKI-runtimeopties in die de handtekeningservice gebruikt bij het controleren van alle handtekeningen in een PDF-document:
- Verificatietijd
- Intrekkingscontrole
- Waarden voor tijdstempels
Als onderdeel van het instellen van deze opties kunt u een verificatietijd opgeven. U kunt bijvoorbeeld de huidige tijd selecteren (de tijd op de computer van de validator), die aangeeft dat de huidige tijd moet worden gebruikt. Voor informatie over de verschillende tijdwaarden raadpleegt u de VerificationTime
opsommingswaarde in AEM Forms API-naslag.
U kunt ook opgeven of de intrekkingscontrole moet worden uitgevoerd tijdens het verificatieproces. U kunt bijvoorbeeld een intrekkingscontrole uitvoeren om te bepalen of het certificaat wordt ingetrokken. Zie voor meer informatie over de opties voor intrekkingscontrole de RevocationCheckStyle
opsommingswaarde in AEM Forms API-naslag.
Als u intrekkingscontrole wilt uitvoeren op een certificaat, geeft u een URL op naar een server met een certificaatintrekkingslijst (CRL) met behulp van een CRLOptionSpec
object. Als u echter geen URL opgeeft naar een CRL-server, verkrijgt de handtekeningservice de URL van het certificaat.
In plaats van een CRL-server te gebruiken, kunt u een OCSP-server (online certificate Status Protocol) gebruiken bij het controleren van intrekkingen. Wanneer u een OCSP-server gebruikt in plaats van een CRL-server, wordt de intrekkingscontrole meestal sneller uitgevoerd. (Zie Online Certificate Status Protocol.)
U kunt de de serverorde plaatsen CRL en OCSP die de dienst van de Ondertekening door de Toepassingen en de Diensten van de Adobe te gebruiken gebruikt. Bijvoorbeeld, als de OCSP server eerst in de Toepassingen en de Diensten van de Adobe wordt geplaatst, wordt de server OCSP gecontroleerd, die door de server CRL wordt gevolgd.
Als u de intrekkingscontrole niet uitvoert, controleert de service Handtekening niet of het certificaat is ingetrokken. Dat wil zeggen dat CRL- en OCSP-serverinformatie wordt genegeerd.
CRLOptionSpec
en OCSPOptionSpec
object. Als u bijvoorbeeld de CRL-server wilt overschrijven, kunt u de opdracht CRLOptionSpec
object setLocalURI
methode.Tijdstempel is het proces waarbij de tijd wordt bijgehouden waarop een ondertekend of gecertificeerd document is gewijzigd. Nadat een document is ondertekend, kan niemand het wijzigen. Met tijdstempels kunt u de geldigheid van een ondertekend of gecertificeerd document afdwingen. U kunt opties voor tijdstempels instellen met een TSPOptionSpec
object. U kunt bijvoorbeeld de URL van een server met een tijdstempelprovider (TSP) opgeven.
VerificationTime.CURRENT_TIME
en de intrekkingscontrole is ingesteld op RevocationCheckStyle.BestEffort
. Omdat er geen CRL- of OCSP-serverinformatie is opgegeven, wordt de serverinformatie opgehaald uit het certificaat.Alle digitale handtekeningen ophalen
Als u alle digitale handtekeningen in een PDF-document wilt verifiëren, haalt u de digitale handtekeningen op uit het PDF-document. Alle handtekeningen worden geretourneerd in een lijst. Controleer als onderdeel van de verificatie van een digitale handtekening de status van de handtekening.
Alle handtekeningen doorlopen
Doorloop elke handtekening. Met andere woorden, controleer voor elke handtekening de digitale handtekening en controleer de identiteit van de ondertekenaar en de status van elke handtekening. (Zie Digitale handtekeningen verifiëren.)
Zie ook
Meerdere digitale handtekeningen verifiëren met de Java API
Meerdere digitale handtekeningen verifiëren met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Meerdere digitale handtekeningen verifiëren met de Java API verify-multiple-digital-signatures-using-the-java-api
Verifieer meerdere digitale handtekeningen met de API voor handtekeningenservice (Java):
-
Projectbestanden opnemen
Neem JAR-bestanden van de client, zoals adobe-signatures-client.jar, op in het klassepad van uw Java-project.
-
Een handtekeningclient maken
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Hiermee wordt het PDF-document opgehaald dat de handtekeningen bevat die moeten worden gecontroleerd
- Een
java.io.FileInputStream
object dat staat voor het PDF-document dat meerdere digitale handtekeningen bevat die moeten worden geverifieerd met behulp van de constructor ervan. Geef een tekenreekswaarde door die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
PKI-runtime-opties instellen
- Een
PKIOptions
object met behulp van de constructor. - Stel de verificatietijd in door de
PKIOptions
objectsetVerificationTime
methode en eenVerificationTime
opsommingswaarde die de verificatietijd opgeeft. - De optie voor intrekkingscontrole instellen door een aanroep te maken
PKIOptions
objectsetRevocationCheckStyle
methode en eenRevocationCheckStyle
opsommingswaarde die aangeeft of een intrekkingscontrole moet worden uitgevoerd.
- Een
-
Alle digitale handtekeningen ophalen
De
SignatureServiceClient
objectverifyPDFDocument
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat een PDF-document bevat dat meerdere digitale handtekeningen bevat. - A
PKIOptions
object dat PKI-runtimeopties bevat. - A
VerifySPIOptions
instantie die SPI-informatie bevat. U kuntnull
voor deze parameter.
De
verifyPDFDocument
methode retourneert eenPDFDocumentVerificationInfo
object dat informatie bevat over alle digitale handtekeningen in het PDF-document. - A
-
Alle handtekeningen doorlopen
- Alle handtekeningen doorlopen door het aanroepen van de
PDFDocumentVerificationInfo
objectgetVerificationInfos
methode. Deze methode retourneert eenjava.util.List
object waarbij elk element eenPDFSignatureVerificationInfo
object. Eenjava.util.Iterator
-object om de lijst met handtekeningen te doorlopen. - Met de
PDFSignatureVerificationInfo
-object, kunt u taken uitvoeren zoals het bepalen van de status van de handtekening door het aanroepen van dePDFSignatureVerificationInfo
objectgetStatus
methode. Deze methode retourneert eenSignatureStatus
object waarvan het lid van het type statische gegevens u op de hoogte stelt van de status van de handtekening. Als de handtekening bijvoorbeeld onbekend is, wordt deze methode geretourneerdSignatureStatus.DocumentSignatureUnknown
.
- Alle handtekeningen doorlopen door het aanroepen van de
Zie ook
Meerdere digitale handtekeningen controleren
Snel starten (SOAP-modus): Meerdere digitale handtekeningen verifiëren met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Digitale handtekeningen verifiëren
Verbindingseigenschappen instellen
Meerdere digitale handtekeningen verifiëren met de webservice-API verifying-multiple-digital-signatures-using-the-web-service-api
Verifieer veelvoudige digitale handtekeningen door de Dienst API van de Handtekening (Webdienst te gebruiken):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Hiermee wordt het PDF-document opgehaald dat de handtekeningen bevat die moeten worden gecontroleerd
- Een
BLOB
object met behulp van de constructor. DeBLOB
Hiermee wordt een PDF-document opgeslagen dat meerdere digitale handtekeningen bevat die moeten worden geverifieerd. - Een
System.IO.FileStream
object door de constructor ervan aan te roepen. Geef een tekenreekswaarde door die staat voor de bestandslocatie van het PDF-document en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
methode. Geef de bytearray, de startpositie en de streamlengte door om te lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
geeft de inhoud van de bytearray op.
- Een
-
PKI-runtime-opties instellen
- Een
PKIOptions
object met behulp van de constructor. - Stel de verificatietijd in door de
PKIOptions
objectverificationTime
lid van de gegevensVerificationTime
opsommingswaarde die de verificatietijd opgeeft. - Stel de optie voor intrekkingscontrole in door de
PKIOptions
objectrevocationCheckStyle
lid van de gegevensRevocationCheckStyle
opsommingswaarde die aangeeft of een intrekkingscontrole moet worden uitgevoerd.
- Een
-
Alle digitale handtekeningen ophalen
De
SignatureServiceClient
objectverifyPDFDocument
en geeft de volgende waarden door:- A
BLOB
object dat een PDF-document bevat dat meerdere digitale handtekeningen bevat. - A
PKIOptions
object dat PKI-runtimeopties bevat. - A
VerifySPIOptions
instantie die SPI-informatie bevat. U kunt null opgeven voor deze parameter.
De
verifyPDFDocument
methode retourneert eenPDFDocumentVerificationInfo
object dat informatie bevat over alle digitale handtekeningen in het PDF-document. - A
-
Alle handtekeningen doorlopen
- Alle handtekeningen doorlopen door de
PDFDocumentVerificationInfo
objectverificationInfos
lid. Dit gegevenslid retourneert eenObject
array waarbij elk element eenPDFSignatureVerificationInfo
object. - Met de
PDFSignatureVerificationInfo
-object, kunt u taken uitvoeren zoals het bepalen van de status van de handtekening door het ophalen van dePDFSignatureVerificationInfo
objectstatus
lid. Dit gegevenslid retourneert eenSignatureStatus
object waarvan het lid van het type statische gegevens u op de hoogte stelt van de status van de handtekening. Als de handtekening bijvoorbeeld onbekend is, wordt deze methode geretourneerdSignatureStatus.DocumentSignatureUnknown
.
- Alle handtekeningen doorlopen door de
Zie ook
Meerdere digitale handtekeningen controleren
AEM Forms aanroepen met SwaRef
Digitale handtekeningen verwijderen removing-digital-signatures
Digitale handtekeningen moeten uit een handtekeningveld worden verwijderd voordat een nieuwere digitale handtekening kan worden toegepast. Een digitale handtekening kan niet worden overschreven. Als u probeert een digitale handtekening toe te passen op een handtekeningveld dat een handtekening bevat, treedt een uitzondering op.
Overzicht van de stappen summary_of_steps-8
Als u een digitale handtekening uit een handtekeningveld wilt verwijderen, voert u de volgende taken uit:
- Inclusief projectbestanden.
- Maak een handtekeningclient.
- Hiermee wordt het PDF-document opgehaald dat een handtekening bevat die u wilt verwijderen.
- Verwijder de digitale handtekening uit het handtekeningveld.
- Sla het PDF-document op als een PDF-bestand.
Projectbestanden opnemen
Neem de benodigde bestanden op in uw ontwikkelingsproject. Als u een clienttoepassing maakt met Java, neemt u de benodigde JAR-bestanden op. Als u webservices gebruikt, moet u ervoor zorgen dat u de proxybestanden opneemt.
De volgende JAR-bestanden moeten worden toegevoegd aan het klassepad van uw project:
- adobe-livecycle-client.jar
- adobe-usermanager-client.jar
- adobe-signatures-client.jar
- adobe-utilities.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
- jbossall-client.jar (vereist als AEM Forms wordt geïmplementeerd op JBoss)
Voor informatie over de locatie van deze JAR-bestanden raadpleegt u Inclusief AEM Forms Java-bibliotheekbestanden.
Een handtekeningclient maken
Voordat u programmatically een verrichting van de dienst van de Handtekening kunt uitvoeren, moet u een cliënt van de dienst van de Handtekening tot stand brengen.
Het PDF-document ophalen dat een handtekening bevat die moet worden verwijderd
Als u een handtekening uit een PDF-document wilt verwijderen, moet u een PDF-document met een handtekening verkrijgen.
De digitale handtekening verwijderen uit het handtekeningveld
Als u een digitale handtekening uit een PDF-document wilt verwijderen, moet u de naam opgeven van het handtekeningveld dat de digitale handtekening bevat. Daarnaast moet u toestemming hebben om de digitale handtekening te verwijderen. anders treedt een uitzondering op.
Het PDF-document opslaan als een PDF-bestand
Nadat de handtekeningservice een digitale handtekening uit een handtekeningveld heeft verwijderd, kunt u het PDF-document opslaan als een PDF-bestand, zodat gebruikers het kunnen openen in Acrobat of Adobe Reader.
Zie ook
Digitale handtekeningen verwijderen met de Java API
Digitale handtekeningen verwijderen met de webservice-API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Digitale handtekeningen verwijderen met de Java API remove-digital-signatures-using-the-java-api
Een digitale handtekening verwijderen met de handtekening-API (Java):
-
Projectbestanden opnemen
Neem client-JAR-bestanden, zoals adobe-signatures-client.jar, op in het klassenpad van uw Java-project.
-
Maak een handtekeningclient.
- Een
ServiceClientFactory
object dat verbindingseigenschappen bevat. - Een
SignatureServiceClient
object door de constructor ervan te gebruiken en door te gevenServiceClientFactory
object.
- Een
-
Het PDF-document ophalen dat een handtekening bevat die moet worden verwijderd
- Een
java.io.FileInputStream
object dat staat voor het PDF-document dat de handtekening bevat die moet worden verwijderd met behulp van de constructor ervan en die een tekenreekswaarde doorgeeft die de locatie van het PDF-document aangeeft. - Een
com.adobe.idp.Document
object door de constructor ervan te gebruiken en door te gevenjava.io.FileInputStream
object.
- Een
-
De digitale handtekening verwijderen uit het handtekeningveld
Een digitale handtekening uit een handtekeningveld verwijderen door het
SignatureServiceClient
objectclearSignatureField
en geeft de volgende waarden door:- A
com.adobe.idp.Document
object dat staat voor het PDF-document dat de te verwijderen handtekening bevat. - Een tekenreekswaarde die de naam aangeeft van het handtekeningveld dat de digitale handtekening bevat.
De
clearSignatureField
methode retourneert eencom.adobe.idp.Document
object dat staat voor het PDF-document waaruit de digitale handtekening is verwijderd. - A
-
Het PDF-document opslaan als een PDF-bestand
- Een
java.io.File
en zorg dat de bestandsextensie .pdf is. - De
com.adobe.idp.Document
objectcopyToFile
methode. Geef dejava.io.File
object om de inhoud van hetcom.adobe.idp.Document
naar het bestand. Zorg ervoor dat u deDocument
object dat is geretourneerd door declearSignatureField
methode.
- Een
Zie ook
Digitale handtekeningen verwijderen
Snel starten (SOAP-modus): Een digitale handtekening verwijderen met de Java API
Inclusief AEM Forms Java-bibliotheekbestanden
Verbindingseigenschappen instellen
Digitale handtekeningen verwijderen met de webservice-API remove-digital-signatures-using-the-web-service-api
Een digitale handtekening verwijderen met de handtekening-API (webservice):
-
Projectbestanden opnemen
Creeer een Microsoft .NET project dat MTOM gebruikt. Zorg ervoor dat u de volgende definitie van WSDL gebruikt:
http://localhost:8080/soap/services/SignatureService?WSDL&lc_version=9.0.1
.note note NOTE Vervangen localhost
met het IP-adres van de server die als host fungeert voor AEM Forms. -
Een handtekeningclient maken
-
Een
SignatureServiceClient
object met de standaardconstructor. -
Een
SignatureServiceClient.Endpoint.Address
object gebruikenSystem.ServiceModel.EndpointAddress
constructor. Geef een tekenreekswaarde die de WSDL opgeeft door aan de AEM Forms-service (bijvoorbeeldhttp://localhost:8080/soap/services/SignatureService?WSDL
). U hoeft delc_version
kenmerk. Dit kenmerk wordt gebruikt wanneer u een serviceverwijzing maakt.) -
Een
System.ServiceModel.BasicHttpBinding
object door de waarde van het object op te halenSignatureServiceClient.Endpoint.Binding
veld. De geretourneerde waarde omzetten inBasicHttpBinding
. -
Stel de
System.ServiceModel.BasicHttpBinding
objectMessageEncoding
veld naarWSMessageEncoding.Mtom
. Deze waarde zorgt ervoor dat MTOM wordt gebruikt. -
Laat basisauthentificatie van HTTP door de volgende taken uit te voeren toe:
- Wijs de gebruikersnaam van het AEM aan het veld toe
SignatureServiceClient.ClientCredentials.UserName.UserName
. - De bijbehorende wachtwoordwaarde aan het veld toewijzen
SignatureServiceClient.ClientCredentials.UserName.Password
. - De constante waarde toewijzen
HttpClientCredentialType.Basic
naar het veldBasicHttpBindingSecurity.Transport.ClientCredentialType
. - De constante waarde toewijzen
BasicHttpSecurityMode.TransportCredentialOnly
naar het veldBasicHttpBindingSecurity.Security.Mode
.
- Wijs de gebruikersnaam van het AEM aan het veld toe
-
-
Het PDF-document ophalen dat een handtekening bevat die moet worden verwijderd
- Een
BLOB
object met behulp van de constructor. DeBLOB
wordt gebruikt om een PDF-document op te slaan dat een digitale handtekening bevat die moet worden verwijderd. - Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie van het ondertekende PDF-document en de modus waarin het bestand moet worden geopend, vertegenwoordigt. - Maak een bytearray waarin de inhoud van de
System.IO.FileStream
object. U kunt de grootte van de bytearray bepalen door deSystem.IO.FileStream
objectLength
eigenschap. - De bytearray vullen met streamgegevens door de
System.IO.FileStream
objectRead
methode. Geef de bytearray, de startpositie en de streamlengte door om te lezen. - Vul de
BLOB
object door het toe te wijzenMTOM
eigenschap met de inhoud van de bytearray.
- Een
-
De digitale handtekening verwijderen uit het handtekeningveld
Verwijder de digitale handtekening door de
SignatureServiceClient
objectclearSignatureField
en geeft de volgende waarden door:- A
BLOB
object dat het ondertekende PDF-document bevat. - Een tekenreekswaarde die de naam vertegenwoordigt van het handtekeningveld dat de digitale handtekening bevat die moet worden verwijderd.
De
clearSignatureField
methode retourneert eenBLOB
object dat staat voor het PDF-document waaruit de digitale handtekening is verwijderd. - A
-
Het PDF-document opslaan als een PDF-bestand
- Een
System.IO.FileStream
-object door de constructor ervan aan te roepen en een tekenreekswaarde door te geven die de bestandslocatie vertegenwoordigt van het PDF-document dat een leeg handtekeningveld bevat en de modus waarin het bestand moet worden geopend. - Maak een bytearray waarin de inhoud van de
BLOB
object dat is geretourneerd door design
methode. Vul de bytearray met de waarde van deBLOB
objectMTOM
lid. - Een
System.IO.BinaryWriter
object door de constructor aan te roepen en deSystem.IO.FileStream
object. - Schrijf de inhoud van de bytearray naar het PDF-bestand door het
System.IO.BinaryWriter
objectWrite
en geeft u de bytearray door.
- Een
Zie ook
Digitale handtekeningen verwijderen
AEM Forms aanroepen met SwaRef