Page tree

European Commission Digital

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Content Layer
id757815984
classcef cef-section cef-bb-dashboard
Content Column
id757815985
Content Block
id757815986
Div
classcef-container
Div
classcef-row
Div
classcef-col-4 cef-bb-overview-main
HTML
<h2 class="cef-secondary-heading-deco">About eSignature</h2>

What is eSignature

Learn about eSignature, how does the European Commission support e-signature, who provides e-signatures in Europe, what are the benefits, what are the use cases.

Get Started

Learn how you can adopt electronic signatures and/or seals as a citizen, a business, a solution provider, a government (or a third party).

eSignature legislation

Learn about the eIDAS Regulation (EU) N°910/2014 on electronic identification and trust services for electronic transactions in the internal market.

HTML
<a class="cef-btn cef-btn-secondary cef-btn-sm" href="http://eur-lex.europa.eu/legal-content/EN/TXT/?uri=uriserv:OJ.L_.2014.257.01.0073.01.ENG"><span>Regulation (EU) N°910/2014</span></a>

Standards and specifications

Learn all the necessary standards to implement an eSignature compliant solution.

Grants

Learn about grants when implementing eSignature.

Div
classcef-col-4 cef-bb-overview-main
HTML
<h2 class="cef-secondary-heading-deco">Services & Products</h2>

Service offering canvas

Find all eSignature services in a visual tool and request support through the eSignature service desk.

Digital Signature Service | DSS

Build your own solution in-house using our Digital Signature Services open-source library. Download the latest version for electronic signature creation and validation, find useful information, the DSS cookbook and past releases.

ETSI Signature Conformance Checker

A free online tool that performs numerous checks to verify the conformity of advanced electronic signatures against the ETSI standards.

eSignature List of Trusted Lists

Find the information notified by the Member States in an XML document that the European Commission makes available.

eSignature TLSO Community management

Visit the space to look for information and tools related to the management of the national Trusted Lists.

Pilot for the International Compatibility of Trust Services

This pilot aims to illustrate how the mutual recognition of the qualified trust service providers (QTSP) and the qualified trust services (QTSs) between the EU and a third country could be implemented in accordance with the eIDAS Regulation.

Div
classcef-col-4
Div
classcef-grey-light-bg
Div
classcef-card-header
HTML
<h2 class="cef-h4"><a href="https://eidas.ec.europa.eu/digital-building-blocks/sites/x/4wT7FQ">EU Trust Services Dashboard</efda/home/#/screen/home">eIDAS Dashboard’</a></h2>
Div
classcef-card-body
HTML
<h3 class="cef-h5"><a href="https://ec.europa.eu/digital-building-blocks/sites/x/PIXXGw">eSignature Trusted List Browser</a></h3>
<p>Browse the information present in the Member States trusted lists (TLs) and in the European Commission list of trusted lists (LOTL).</p>
HTML
<hr class="cef-mt-4 cef-mb-4">
<h3 class="cef-h5"><a href="https://ec.europa.eu/digital-building-blocks/sites/x/PoXXGw">Notification tool</a></h3>
<p>Browse some of the eIDAS lists and send notifications to the European Commission for their publication. </p>
HTML
<hr class="cef-mt-4 cef-mb-4">
<h3 class="cef-h5"><a href="https://ec.europa.eu/digital-building-blocks/sites/x/RYXXGw">eSignature validation tests</a></h3>
<p>Test cases for eSignature solution implementers to test the "qualification" of electronic signatures and seals </p>
Div
classcef-card-footer


Div
classcef-container
Div
classcef-row
Div
classcef-col-12
HTML
<h2 class="cef-mb-4">eSignature FAQ</h2>

<!--FAQ START-->
<div class="cef-collapse" id="accordionGroup" data-allow-multiple>

<!--FAQ 1-->
<div class="cef-collapse-item">

<h3>
<button class="cef-collapse-trigger" id="faq1" aria-expanded="false" aria-controls="sect1"> 
<span class="cef-collapse-title cef-h4">What is an electronic signature?<span class="cef-collapse-icon"></span> </span> </button>
</h3>

<div class="cef-collapse-panel" id="sect1" role="region" aria-labelledby="faq1" hidden="">

<p>An electronic signature is a data in electronic form which is attached to or logically associated with other data in electronic form and which is used by the signatory to sign, where the signatory is a natural person.</p>

<p>Like its handwritten counterpart in the offline world, an electronic signature can be used, for instance, to electronically indicate that the signatory has written the document, agreed with the content of the document, or that the signatory was present as a witness.</p>

<p>In case you want to seal a document as a legal person (e.g. as a business or organisation), you might be instead interested in an electronic seal..</p>

</div>
</div>
<!---->

<!--FAQ 2-->
<div class="cef-collapse-item">

<h3>
<button class="cef-collapse-trigger" id="faq2" aria-expanded="false" aria-controls="sect2"> 
<span class="cef-collapse-title cef-h4"> What is an electronic seal?<span class="cef-collapse-icon"></span> </span> </button>
</h3>

<div class="cef-collapse-panel" id="sect2" role="region" aria-labelledby="faq2" hidden="">

<p>An electronic seal is data in electronic form, which is attached to or logically associated with other data in electronic form to ensure the latter’s origin and integrity, where the creator of a seal is a legal person (unlike the electronic signature that is issued by a natural person).</p>

<p>In this purpose, electronic seals might serve as evidence that an electronic document was issued by a legal person, ensuring certainty of the document’s origin and integrity. Nevertheless, across the European Union, when a transaction requires a qualified electronic seal from a legal person, a qualified electronic signature from the authorised representative of the legal person is equally acceptable.</p>

</div>
</div>
<!---->

<!--FAQ 3-->
<div class="cef-collapse-item">

<h3>
<button class="cef-collapse-trigger" id="faq3" aria-expanded="false" aria-controls="sect3"> 
<span class="cef-collapse-title cef-h4"> What is the difference between an electronic signature and a digital signature?<span class="cef-collapse-icon"></span> </span> </button>
</h3>

<div class="cef-collapse-panel" id="sect3" role="region" aria-labelledby="faq3" hidden="">

<p>An ‘electronic signature’ is a legal concept that is defined in eIDAS by the following:</p>

<p>“‘electronic signature’ means data in electronic form which is attached to or logically associated with other data in electronic form and which is used by the signatory to sign;” (eIDAS Article 3.10)</p>

<p>A digital signature, on the other hand, refers to a mathematical and cryptographic concept that is widely used to provide concrete and practical instances of electronic signature. The definition given by ETSI TR 119 100 is that of data appended to, or a cryptographic transformation of a data unit that allows a recipient of the data unit to prove the source and integrity of the data unit and protect against forgery e.g. by the recipient.</p>

<p>These two concepts should be distinguished, as all electronic signatures are not necessarily digital signatures.</p>

</div>
</div>
<!---->

<!--FAQ 4-->
<div class="cef-collapse-item">

<h3>
<button class="cef-collapse-trigger" id="faq4" aria-expanded="false" aria-controls="sect4"> 
<span class="cef-collapse-title cef-h4"> What are the levels (simple, advanced and qualified) of electronic signatures?<span class="cef-collapse-icon"></span> </span> </button>
</h3>

<div class="cef-collapse-panel" id="sect4" role="region" aria-labelledby="faq4" hidden="">

<p>The eIDAS Regulation defines three levels of electronic signature: 'simple' electronic signature, advanced electronic signature and qualified electronic signature. The requirements of each level are built on the requirements of the level below it, such that a qualified electronic signature meets the most requirements and a 'simple' electronic signature the least.</p>

</div>
</div>
<!---->

</div>
<!--FAQ END-->

<p class="cef-text-center cef-mt-5 cef-mb-0"><a class="cef-btn cef-btn-primary-outline" href="https://ec.europa.eu/digital-building-blocks/sites/x/JIXXGw"><span>Read all faq</span></a></p>
HTML
<script>

/*
*   This content is licensed according to the W3C Software License at
*   https://www.w3.org/Consortium/Legal/2015/copyright-software-and-document
*
*   Simple accordion pattern example
*/

'use strict';

Array.prototype.slice.call(document.querySelectorAll('.cef-collapse')).forEach(function (accordion) {

  // Allow for multiple accordion sections to be expanded at the same time
  var allowMultiple = accordion.hasAttribute('data-allow-multiple');
  // Allow for each toggle to both open and close individually
  var allowToggle = (allowMultiple) ? allowMultiple : accordion.hasAttribute('data-allow-toggle');

  // Create the array of toggle elements for the accordion group
  var triggers = Array.prototype.slice.call(accordion.querySelectorAll('.cef-collapse-trigger'));
  var panels = Array.prototype.slice.call(accordion.querySelectorAll('.cef-collapse-panel'));


  accordion.addEventListener('click', function (event) {
    var target = event.target;

    if (target.classList.contains('cef-collapse-trigger')) {
      // Check if the current toggle is expanded.
      var isExpanded = target.getAttribute('aria-expanded') == 'true';
      var active = accordion.querySelector('[aria-expanded="true"]');

      // without allowMultiple, close the open accordion
      if (!allowMultiple && active && active !== target) {
        // Set the expanded state on the triggering element
        active.setAttribute('aria-expanded', 'false');
        // Hide the accordion sections, using aria-controls to specify the desired section
        document.getElementById(active.getAttribute('aria-controls')).setAttribute('hidden', '');

        // When toggling is not allowed, clean up disabled state
        if (!allowToggle) {
          active.removeAttribute('aria-disabled');
        }
      }

      if (!isExpanded) {
        // Set the expanded state on the triggering element
        target.setAttribute('aria-expanded', 'true');
        // Hide the accordion sections, using aria-controls to specify the desired section
        document.getElementById(target.getAttribute('aria-controls')).removeAttribute('hidden');

        // If toggling is not allowed, set disabled state on trigger
        if (!allowToggle) {
          target.setAttribute('aria-disabled', 'true');
        }
      }
      else if (allowToggle && isExpanded) {
        // Set the expanded state on the triggering element
        target.setAttribute('aria-expanded', 'false');
        // Hide the accordion sections, using aria-controls to specify the desired section
        document.getElementById(target.getAttribute('aria-controls')).setAttribute('hidden', '');
      }

      event.preventDefault();
    }
  });

  // Bind keyboard behaviors on the main accordion container
  accordion.addEventListener('keydown', function (event) {
    var target = event.target;
    var key = event.which.toString();

    var isExpanded = target.getAttribute('aria-expanded') == 'true';
    var allowToggle = (allowMultiple) ? allowMultiple : accordion.hasAttribute('data-allow-toggle');

    // 33 = Page Up, 34 = Page Down
    var ctrlModifier = (event.ctrlKey && key.match(/33|34/));

    // Is this coming from an accordion header?
    if (target.classList.contains('cef-collapse-trigger')) {
      // Up/ Down arrow and Control + Page Up/ Page Down keyboard operations
      // 38 = Up, 40 = Down
      if (key.match(/38|40/) || ctrlModifier) {
        var index = triggers.indexOf(target);
        var direction = (key.match(/34|40/)) ? 1 : -1;
        var length = triggers.length;
        var newIndex = (index + length + direction) % length;

        triggers[newIndex].focus();

        event.preventDefault();
      }
      else if (key.match(/35|36/)) {
        // 35 = End, 36 = Home keyboard operations
        switch (key) {
          // Go to first accordion
          case '36':
            triggers[0].focus();
            break;
            // Go to last accordion
          case '35':
            triggers[triggers.length - 1].focus();
            break;
        }
        event.preventDefault();

      }

    }
  });

  // These are used to style the accordion when one of the buttons has focus
  accordion.querySelectorAll('.cef-collapse-trigger').forEach(function (trigger) {

    trigger.addEventListener('focus', function (event) {
      accordion.classList.add('focus');
    });

    trigger.addEventListener('blur', function (event) {
      accordion.classList.remove('focus');
    });

  });

  // Minor setup: will set disabled state, via aria-disabled, to an
  // expanded/ active accordion which is not allowed to be toggled close
  if (!allowToggle) {
    // Get the first expanded/ active accordion
    var expanded = accordion.querySelector('[aria-expanded="true"]');

    // If an expanded/ active accordion is found, disable
    if (expanded) {
      expanded.setAttribute('aria-disabled', 'true');
    }
  }

});

</script>

...