24
[email protected] elevenpaths.com ElevenPaths, radical and disruptive innovation in security solutions Web Services Reference SealSign DSR (Digital Signature Repository)

Web Services Reference SealSign DSR

Embed Size (px)

Citation preview

[email protected]

elevenpaths.com

ElevenPaths, radical and disruptive innovation in security solutions

Web Services Reference SealSign DSR

(Digital Signature Repository)

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 2 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Table of content

1 Introduction ................................................................................................................ 3

2 SealSign DSR's Web Service Interfaces ......................................................................... 4

2.1 Common classes ....................................................................................................................... 4

2.1.1 FileMetadata .............................................................................................................................. 4

2.1.2 TagValueTypes ............................................................................................................................ 5

2.1.3 DSRMetadata.............................................................................................................................. 5

2.1.4 DSRFileInfo ................................................................................................................................. 5

2.1.5 DSRMetadataCondition .............................................................................................................. 6

2.1.6 Operator ..................................................................................................................................... 7

3 Secure Document Storage System (SOAP 1.1) .............................................................. 8

3.1 Methods .................................................................................................................................... 8

3.1.1 InsertDocument .......................................................................................................................... 8

3.1.2 InsertURLFile .............................................................................................................................. 9

3.1.3 InsertURL .................................................................................................................................. 10

3.1.4 GetDocument ........................................................................................................................... 11

3.1.5 GetDocumentEx ....................................................................................................................... 11

3.1.6 GetDocumentSignature ............................................................................................................ 12

3.1.7 ReSignDocument ...................................................................................................................... 12

3.1.8 GetDocumentMetadata ........................................................................................................... 13

3.1.9 ModifyDocumentMetadata ...................................................................................................... 14

3.1.10 DeleteDocumentMetadata ...................................................................................................... 15

3.1.11 DeleteDocument ...................................................................................................................... 15

3.1.12 Search ....................................................................................................................................... 16

3.1.13 SearchEx ................................................................................................................................... 17

3.1.14 SearchEx2 ................................................................................................................................. 18

3.1.15 EnumObjects ............................................................................................................................ 20

3.1.16 CreateMetadata (Administrative Method) .............................................................................. 20

3.1.17 GetMetadata (Administrative Method) ................................................................................... 21

3.1.18 DeleteMetadata (Administrative Method) ............................................................................... 21

3.1.19 GetFileInfo ................................................................................................................................ 21

4 Resources .................................................................................................................. 23

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 3 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

1 Introduction

SealSign Digital Signature Repository (DSR) is a product developed entirely by ElevenPaths aimed at easing the integration of a secure document custody system into corporate applications.

DSR is a SealSign component that preserves all documentary objects that are subject to a dwell time that is usually set by a legislative framework. Electronically signed documents that need to be periodically re-signed and re-timestamped are a paradigmatic case of preservation.

Regardless of the original support of the document, DSR objectives are:

Consulting and retrieving documents, as well as ensuring their long-term preservation and integrity.

Applying security measures on documents.

Auditing operations performed on documents.

Protecting and securing documents applying cryptographic techniques.

Ensuring the legal validity of the digital signatures associated with documents.

DSR functionalities are:

Advanced signature and timestamp of the inserted document.

Re-signature and re-timestamp as appropriate depending on configuration.

Logical deletion.

Custody of digital evidence of any operation carried out with the repository.

Provision of Web Services for the integration with repository client systems: entry, search, retrieval.

DSR includes an Administration and Search Web Application, which allows administrators to define the parameters of the repository and to find inserted documentary elements and retrieve both their content and the values of their associated metadata.

This document is not intended as a manual for the specifics on the secure storage of documents, but a technical reference guide, developer-oriented, which includes a description of such services in order to help with the integration of applications with the SealSign storage service.

For examples of the most common integration use cases, you may consult the various application integration guides from SealSign DSR, available for each one of the supported development technologies.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 4 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

2 SealSign DSR's Web Service Interfaces

Given the diversity of technology available on the market and with the objective of being accessible from the majority of corporate applications, SealSign DSR's web services are accessible through two interfaces:

Interface based on the SOAP 1.1 (BasicHttpBinding) specification.

Interface based on the SOAP 1.2 and WS-Addressing (WsHttpBinding) specification.

According to the technology and the capability of the client application, it will be possible to use one or other of the interfaces.

The SOAP 1.1 interface displays the following Web Services:

Document Storage Service (SecureStorageBasic.svc): it performs operations of document storage and extraction from the document repository.

The SOAP 1.2 interface displays the following Web Services:

Storage Service (SecureStorage.svc): it performs operations of document storage and extraction from the document repository.

The services will be accessible in the SealSignDSRService virtual directory. For example: http://localhost/sealsigndsrservice/securestorage.svc.

2.1 Common classes

The following classes are used as parameters in the Web services regardless of the interface they publish:

2.1.1 FileMetadata

Each of the objects belonging to this class represents information (metadata) associated with a document stored in the storage service. This class is used in both operations of storage and query of metadata associated with a document. The metadata of a document are primarily used for classifyind and searching documents in the storage service.

The FileMetadata class is defined as follows:

public class FileMetadata

{

public int tagID;

public string name;

public string value;

public TagValueTypes type;

}

Members

tagID: ID of the metadata associated with the document.

name: Name of the metadata associated with the document.

value: Value of the metadata associated with the document.

type: Type of the metadata associated with the document.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 5 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

2.1.2 TagValueTypes

This enumeration represents the type of metadata associated with a document stored in the storage service. The TagValueTypes enumeration is defined as follows:

public enum TagValueTypes

{

tvtBoolean = 1,

tvtString = 2,

tvtDateTime = 3,

tvtNumber = 4,

tvtAnsiString = 100,

tvtUnknown = int.MaxValue

}

Values

tvtBoolean: It states that the type of metadata associated with the document is Boolean (true o false).

tvtString: It states that the type of metadata associated with the document is String (unicode).

tvtDateTime: It states that the type of metadata associated with the document is DateTime.

tvtNumber: It states that the type of metadata associated with the document is Number.

tvtAnsiString: It states that the type of metadata associated with the document is String (ansi).

tvtUnknown: Default value assigned to the type of metadata associated with the document.

2.1.3 DSRMetadata

The DSR Metadata class is used to create and get metadata and their values associated with documents. The DSRMetadata class is defined as follows:

public class DSRMetadata

{

public int tagID;

public string name;

public string value;

public TagValueTypes type;

}

Members:

tagID: ID of the metadata associated with the document.

name: Name of the metadata associated with the document.

value: Value of the metadata associated with the document.

type: Type of the metadata associated with the document.

2.1.4 DSRFileInfo

The DSRFileInfo class is used to get all the information related to a document stored in the storage service. The DSRFileInfo class is defined as follows:

public class DSRFileInfo

{

public string uri;

public string fullName;

public string name;

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 6 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

public string path;

public long size;

public DateTime creationTime;

public DateTime lastAccessTime;

public DateTime modificationTime;

public string url;

public string mimeType;

}

Members

uri: Unique identifier of the document stored in the storage system. The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service.

fullName: Full name of the document (path + name) stored in the storage service.

name: Name of the document (without the path) stored in the storage service.

path: Storage path of the document stored in the storage service (similar to a traditional filesystem with directory hierarchy).

size: Size of the document stored in the storage service (in bytes).

creationTime: Creation date of the document stored in the storage service.

lastAccessTime: Date of the last access to the document stored in the storage service.

modificationTime: Date of the last modification of the document stored in the storage service.

url: Origin URL if the insertion of the document was performed with the InsertURLFile method or by making a Snapshot of a URL with the InsertURL method. If the insertion of the document has been performed with the InsertDocument method, this will be a null value.

mimeType: MIME type of the document stored in the storage service.

2.1.5 DSRMetadataCondition

The DSRMetadataCondition class is used to create filters based on metadata in the search operations of documents stored in the storage service.

The DSRMetadataCondition class is defined as follows:

public class DSRMetadataCondition

{

public string metadataName;

public string searchValue;

public Operator searchOperator;

}

Members

metadataName: Name of the metadata associated with the document.

searchValue: Metadata value with which you will carry out the filtering (search) of the document.

searchOperator: Operator used to compare the metadata.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 7 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

2.1.6 Operator

The Operator enumeration is used to create filters based on metadata in the search operations of documents stored in the storage service. Its use is limited to the definition of the operator type to be used in comparisons of the metadata that are going to be searched.

The Operator enumeration is defined as follows:

public enum Operator

{

Equal,

Distint,

Less,

Greater,

LessOrEqual,

GreaterOrEqual,

Like

}

Values

Equal: To carry out the search, you need to use the “equality” operator when comparing the metadata value.

Distint: To carry out the search, you need to use the “other than” operator when comparing the metadata value.

Less: To carry out the search, you need to use the “less than” operator when comparing the metadata value.

Greater: To carry out the search, you need to use the “greater than” operator when comparing the metadata value.

LessOrEqual: To carry out the search, you need to use the “less than or equal to” operator when comparing the metadata value.

GreaterOrEqual: To carry out the search, you need to use the “greater than or equal to” operator when comparing the metadata value.

Like: To carry out the search, you need to use the “like” operator when comparing the metadata value. This operator is like the equality operator, but it allows the use of wildcards characters (%). This operator is similar to the “Like”operator in the SQL query syntax.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 8 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

3 Secure Document Storage System (SOAP 1.1)

With the SecureStorageBasic.svc service of SealSign DSR you can perform operations of storage and query of electronic documents to the SealSign document repository via SOAP 1.1.

3.1 Methods

3.1.1 InsertDocument

It inserts a document in the document storage service and returns an id that uniquely identifies it. Inserting the document in the storage service includes the following:

The document is electronically signed with the parameters configured in the SealSign management tool (Secure Repository)

Once it has been electronically signed, the document and its signature are stored together with the transferred metadata as parameters, if any.

Syntax public string InsertDocument(

byte[] documentBinary,

string targetFile,

FileMetadata[] fileMetadata);

Input parameters

documentBinary: Document in binary format to be inserted in the storage service.

targetFile: Target file where you need to insert the document in binary format. It consists of a path (path) and the file name, like in a traditional filesystem (e.g., FAT, NTFS). Examples:

o "\\fileToInsert.ext" (File located in the Root of the storage service) o "\\dir1\fileToInsert.ext" o "\\dir1\subdir1\fileToInsert.ext"

fileMetadata: Array of metadata values associated with the document that you want to add in the insertion. This can be a null parameter if you do not want to add metadata values to the new document inserted in the storage service. If it is not a null parameter, you previously must create the metadata used in the call in the SealSign management interface (Secure Repository).

Return

It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

"urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

If an error occurs, the server returns an exception to be handled from the client part.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 9 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

3.1.2 InsertURLFile

It inserts a document downloaded from a URL in the document storage service and returns an id that uniquely identifies it. The document download is carried out from the SealSign document storage service, thus allowing a significant reduction of the traffic between the client and the storage service.

Inserting the document in the storage service includes the following:

The document is electronically signed with the parameters configured in the SealSign management tool (Secure Repository)

Once it has been electronically signed, the document and its signature are stored together with the transferred metadata as parameters, if any.

Syntax public string InsertURLFile(

string urlString,

string targetFile,

FileMetadata[] fileMetadata);

Input parameters

urlString: Origin URL of the document to be downloaded and the binary content of which will be inserted in the storage service.

targetFile: Target file where you need to insert the document in binary format. It consists of a path (path) and the file name, like in a traditional filesystem (e.g., FAT, NTFS). Examples:

o "\\fileToInsert.ext" (File located in the Root of the storage service) o "\\dir1\fileToInsert.ext" o "\\dir1\subdir1\fileToInsert.ext"

fileMetadata: Array of metadata values associated with the document that you want to add in the insertion. This can be a null parameter if you do not want to add metadata values to the new document inserted in the storage service. If it is not a null parameter, you previously must create the metadata used in the call in the SealSign management interface (Secure Repository).

Return

It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

"urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

If an error occurs, the server returns an exception to be handled from the client part.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 10 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

3.1.3 InsertURL

It inserts an MHT document downloaded from a URL and its thumbnail in the document storage service and returns an id that uniquely identifies it. The document download is carried out from the SealSign document storage service, thus allowing a significant reduction of the traffic between the client and the storage service.

This function takes a static picture of a website at a particular time, creates a thumbnail image and inserts it all in the SealSign storage service.

Inserting the document in the storage service includes the following:

The document is electronically signed with the parameters configured in the SealSign management tool (Secure Repository)

Once it has been electronically signed, the document and its signature are stored together with the transferred metadata as parameters, if any.

Syntax public string InsertURL(

string urlString,

string targetFile,

FileMetadata[] fileMetadata);

Input parameters

urlString: URL of the MHT document to be downloaded and the binary content of which, as well as its thumbnail, will be inserted in the storage service.

targetFile: Target file where you need to insert the document in binary format. It consists of a path (path) and the file name, like in a traditional filesystem (e.g., FAT, NTFS). Examples:

o "\\fileToInsert.ext" (File located in the Root of the storage service) o "\\dir1\fileToInsert.ext" o "\\dir1\subdir1\fileToInsert.ext"

fileMetadata: Array of metadata values associated with the document that you want to add in the insertion. This can be a null parameter if you do not want to add metadata values to the new document inserted in the storage service. If it is not a null parameter, you previously must create the metadata used in the call in the SealSign management interface (Secure Repository).

Return

It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

"urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

If an error occurs, the server returns an exception to be handled from the client part.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 11 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

3.1.4 GetDocument

It extracts a document stored in the storage service, returning its content in binary format.

Syntax public byte[] GetDocument(string uriDocument);

Input parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

Return

Array of bytes corresponding to the contents of the document, the ID of which equals uriDocument. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be the owner of the document identified by uriDocument in order to extract the contents of the document. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

3.1.5 GetDocumentEx

It extracts a document stored in the storage service, returning its content in binary format.

Syntax public byte[] GetDocumentEx(string uriDocument);

Input parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 12 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Return

Array of bytes corresponding to the contents of the document, the ID of which equals uriDocument. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be a SealSign Administrator in order to extract the contents of the document.

3.1.6 GetDocumentSignature

It extracts the binary block corresponding to the electronic signature of a document stored in the storage service.

Syntax public byte[] GetDocumentSignature(string uriDocument);

Input parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070" o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070" o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

Return

Array of bytes corresponding to the contents of the document, the ID of which equals uriDocument. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be the owner of the document identified by uriDocument in order to extract the electronic signature of the document. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

3.1.7 ReSignDocument

In performs an electronic signature on a document stored in the storage service that was already signed. This method is used for the long-term signature support in the storage service.

Syntax public void ReSignDocument(string uriDocument);

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 13 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Input Parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

Return

This function returns no value. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be the owner of the document identified by uriDocument in order to perform the re-signature operation. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

3.1.8 GetDocumentMetadata

It gets metadata and their values associated with a document stored in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public FileMetadata[] GetDocumentMetadata(string uriDocument);

Input Parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

Return

Array of FileMetadata objects corresponding to the set of metadata and their values associated with the document identified by uriDocument. If an error occurs, the server returns an exception to be handled from the client part.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 14 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be the owner of the document identified by uriDocument in order to get the metadata and their values associated with the document. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

3.1.9 ModifyDocumentMetadata

It modifies the metadata and their values associated with the document stored in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public void ModifyDocumentMetadata(

string uriDocument,

FileMetadata[] fileMetadata);

Input Parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

fileMetadata: Array of metadata and their values, which you wish to modify, associated with the document. This cannot be a null parameter. If it is a null parameter, the platform will return a controlled exception indicating so. You previously must create the document metadata to be modified in the SealSign management interface (Secure Repository).

Return

This function returns no value. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL.The caller must be the owner of the document identified by uriDocument in order to mofify the metadata associated with the document. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

Prior to the call to this function, you can get the metadata and their values associated with the document by calling the GetDocumentMetadata function.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 15 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

3.1.10 DeleteDocumentMetadata

It deteles the values of the metadata associated with a document stored in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public void DeleteDocumentMetadata(

string uriDocument,

FileMetadata[] fileMetadata);

Input Parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

fileMetadata: Array of metadata and their values, which you wish to modify, associated with the document. This cannot be a null parameter. If it is a null parameter, the platform will return a controlled exception indicating so. You previously must create the document metadata to be modified in the SealSign management interface (Secure Repository).

Return

This function returns no value. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be the owner of the document identified by uriDocument in order to delete the metadata associated with the document. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

Prior to the call to this function, you can get the document metadata by calling the GetDocumentMetadata function.

3.1.11 DeleteDocument

It deletes the document identified by its URL stored in the storage service.

Syntax public void DeleteDocument(string uriDocument);

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 16 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Input Parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

Return

This function returns no value. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be the owner of the document identified by uriDocument in order to modify the metadata associated with the document. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

Physically, the document is not deleted from the storage service; a flag is activated indicating that it has been deleted (logical deletion), which prevents its appearance in searches, querys to its contents, etc. Once deleted, you cannot perform any operations with the document, whichever the nature of the operation.

3.1.12 Search

This method performs document searches based on search criteria built from the values of the associated metadata in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public string[] Search(

string basePath,

DSRMetadataCondition[] searchCriteria);

Input parameters

basePath: Value of string type (string) corresponding to the directory from which the search of the document will start (similar to a traditional filesystem with directory hierarchy). If basePath is null, the search will start from the root directory. Examples:

o "\\"

o "\\DIR1"

o "\\DIR1\SUBDIR1"

searchCriteria: Array of search criteria used to filter the results returned by the storage service. This cannot be a null parameter. If it is a null parameter, the platform will return a controlled

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 17 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

exception indicating so. For more information on the parameter type, see DSRMetadataCondition.

Return

It returns an array of string type values (string) corresponding to the unique identifiers of documents stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service that meet the search criteria and are stored in the basePath path or any of its derivatives.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

"urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

If an error occurs, the server returns an exception to be handled from the client part.

Comments

The criteria in searchCriteria will be logically linked with the AND operation. The results are identifiers of documents belonging only to the document owner.

3.1.13 SearchEx

This method performs document searches based on search criteria built from the values of the associated metadata in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public DSRFileInfo[] SearchEx(

string fileName,

string basePath,

string uriDocument,

DateTime startDate,

DateTime endDate,

DSRMetadataCondition[] searchcriteria)

Input parameters

fileName: Name of the destination file you wish to find. The use of wildcards (%) is allowed. Examples:

o "fileToInsert.ext" (search for the exact name) o "file%" (search for all files the name of which starts with “file”)

basePath: Value of string type (string) corresponding to the directory from which the search of the document will start (similar to a traditional filesystem with directory hierarchy). If basePath is null, the search will start from the root directory. Examples:

o "\\"

o "\\DIR1"

o \\DIR1\SUBDIR1

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 18 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

o "urn:file:\\dir1:A7B0E753-83DF% "

o "urn:file:\\dir1\%"

startDate : The search will return documents inserted in the storage service on a date equal or greater than startDate.

endDate: The search will return documents inserted in the storage service on a date equal or lesser than endDate.

searchCriteria: Array of search criteria used to filter the results returned by the storage service. This cannot be a null parameter. If it is a null parameter, the platform will return a controlled exception indicating so. For more information on the parameter type, see DSRMetadataCondition.

Return

It returns an array of values of DSRFileInfo type corresponding to the information of each of the documents stored in the storage system that meet the criteria specified by the input parameters of the function. For more information on the type returned by the function, see DSRFileInfo.

If an error occurs, the server returns an exception to be handled from the client part.

Comments

The criteria in searchCriteria are logically linked with the AND operation. The results are from documents that can be owned by any user; therefore, in order to invoke this function, the user needs to be a SealSign Administrator.

3.1.14 SearchEx2

This method performs document searches based on search criteria built from the values of the associated metadata in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public DSRFileInfo[] SearchEx(

string fileName,

string basePath,

string uriDocument,

DateTime startDate,

DateTime endDate,

DSRMetadataCondition[] searchcriteria)

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 19 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Input Parameters

fileName: Name of the destination file you wish to find. The use of wildcards (%) is allowed. Examples:

o "fileToInsert.ext" (search for the exact name) o "file%" (search for all files the name of which starts with “file”)

basePath: Value of string type (string) corresponding to the directory from which the search of the document will start (similar to a traditional filesystem with directory hierarchy). If basePath is null, the search will start from the root directory. Examples:

o "\\"

o "\\DIR1"

o \\DIR1\SUBDIR1

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. The use of wildcards (%) is allowed. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070" o "urn:file:\\dir1:A7B0E753-83DF% " o "urn:file:\\dir1\%"

startDate : The search will return documents inserted in the storage service on a date equal or greater than startDate.

endDate: The search will return documents inserted in the storage service on a date equal or lesser than endDate.

searchCriteria: Array of search criteria used to filter the results returned by the storage service. This cannot be a null parameter. If it is a null parameter, the platform will return a controlled exception indicating so. For more information on the parameter type, see DSRMetadataCondition.

Return

It returns an array of values of DSRFileInfo type corresponding to the information of each of the documents stored in the storage system that meet the criteria specified by the input parameters of the function. For more information on the type returned by the function, see DSRFileInfo.

If an error occurs, the server returns an exception to be handled from the client part.

Comments

The criteria in searchCriteria are logically linked with the AND operation. The results are from documents that can be owned by any user; therefore, in order to invoke this function, the user needs to be a SealSign Power Users.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 20 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

3.1.15 EnumObjects

This method is maintained in pursuit of compatibility with earlier versions and is similar to the Search method.

Syntax public string[] EnumObjects(string basePath, uint filter)

Input Parameters

basePath: Value of string type (string) corresponding to the directory from which the search of the document will start (similar to a traditional filesystem with directory hierarchy). If basePath is null, the search will start from the root directory. Examples:

o "\\"

o "\\DIR1"

o \\DIR1\SUBDIR1

Filter: Reserved for future use.

Return

It returns an array of string type values (string) corresponding to the unique identifiers of documents stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service that meet the search criteria and are stored in the basePath path or any of its derivatives.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

"urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

"urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

If an error occurs, the server returns an exception to be handled from the client part.

Comments

The criteria in searchCriteria will be logically linked with the AND operation. The results are identifiers of documents belonging only to the document owner.

3.1.16 CreateMetadata (Administrative Method)

It creates metadata so they can be associated with documents in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public void CreateMetadata(DSRMetadata metadata)

Input parameters

metadata: Value of DSRMetadata type corresponding to the new metadata to be inserted in the storage service.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 21 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Return

This function returns no value. If an error occurs, the server returns an exception to be handled from the client part.

Comments

The caller of this function should be a SealSign Administrator.

3.1.17 GetMetadata (Administrative Method)

It gets the available metadata that can be associated with a document stored in the storage service. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public DSRMetadata[] GetMetadata()

Return

Array of DSRMetadata type that will correspond to the available metadata that can be associated with the documents inserted in the storage service. If an error occurs, the server returns an exception to be handled from the client part.

Comments

The caller of this function should be a SealSign Administrator.

3.1.18 DeleteMetadata (Administrative Method)

It deletes the available metadata that can be associated with a document stored in the storage service referenced by the tagId parameter. Metadata are used for classifying and filtering in search processes in the storage service.

Syntax public void DeleteMetadata(int tagID)

Return

This function returns no value. If an error occurs, the server returns an exception to be handled from the client part.

Comments

The caller of this function should be a SealSign Administrator.

3.1.19 GetFileInfo

It gets information regarding a document stored in the storage service.

Syntax public DSRFileInfo GetFileInfo(string uriDocument);

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 22 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

Input Parameters

uriDocument: It returns a value of string type (string) corresponding to the unique identifier of the document stored in the storage system, also called Uri (Universal Resource Identifier) in the storage service.

The Uri format is “urn:file:path:guid”, where path is the path of the document storage (similar to a traditional filesystem with directory hierarchy) and guid is a unique identifier assigned to the document at the time of its insertion in the storage service. Urn and file are constant strings. Examples:

o "urn:file:\\:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070" o "urn:file:\\dir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070" o "urn:file:\\dir1\subdir1:A7B0E753-83DF-4F35-AD6B-F6DAC79C1070"

Return

Object of DSRFileInfo type corresponding to the set of data and their associated values related to the document identified by uriDocument. If an error occurs, the server returns an exception to be handled from the client part.

Comments

uriDocument is returned by functions such as InsertDocument, InsertURLFile or InsertURL. The caller must be the owner of the document identified by uriDocument in order to get the metadata and their values associated with the document. The owner of the document is the authenticated user under which the insertion operation is performed in the storage service.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 23 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

4 Resources

For information about the different SealSign services available, please go to this address:

https://www.elevenpaths.com/technology/sealsign/index.html

Also, on the ElevenPaths blog you can find interesting articles and innovations regarding this product.

You can find more information about Eleven Paths products on YouTube, on Vimeo and on Slideshare.

Web Services Reference SealSign DSR (Digital Signature Repository)

V 3.2 – October 2016

Page 24 of 24

2016 © Telefónica Digital España, S.L.U. All rights reserved.

PUBLICATION

October 2016

At ElevenPaths we have our own way of thinking when we talk about security. Led by Chema Alonso, we are a team of experts who are passionate about their work, who are eager to redefine the industry and have great experience and knowledge about the security sector.

Security threats in technology evolve at an increasingly quicker and relentless pace. Thus, since June 2013, we have become a startup company within Telefónica aimed at working in an agile and dynamic way, transforming the concept of security and, consequently, staying a step ahead of our attackers.

Our head office is in Spain, but we can also be found in the UK, the USA, Brazil, Argentina and Colombia.

IF YOU WISH TO KNOW MORE ABOUT US, PLEASE CONTACT US AT:

elevenpaths.com Blog.elevenpaths.com @ElevenPaths Facebook.com/ElevenPaths YouTube.com/ElevenPaths

The information disclosed in this document is the property of Telefónica Digital España, S.L.U. (“TDE”) and/or any other entity within Telefónica Group and/or its licensors. TDE and/or any Telefonica Group entity or TDE’S licensors reserve all patent, copyright and other proprietary rights to this document, including all design, manufacturing, reproduction, use and sales rights thereto, except to the extent said rights are expressly granted to others. The information in this document is subject to change at any time, without notice.

Neither the whole nor any part of the information contained herein may be copied, distributed, adapted or reproduced in any material form except with the prior written consent of TDE.

This document is intended only to assist the reader in the use of the product or service described in the document. In consideration of receipt of this document, the recipient agrees to use such information for its own use and not for other use.

TDE shall not be liable for any loss or damage arising out from the use of the any information in this document or any error or omission in such information or any incorrect use of the product or service. The use of the product or service described in this document are regulated in accordance with the terms and conditions accepted by the reader.

TDE and its trademarks (or any other trademarks owned by Telefonica Group) are registered service marks.