CAdES (CMS Advanced Electronic Signatures) — это стандарт электронной подписи, представляющий собой расширенную версию стандарта электронной подписи CMS (Cryptographic Message Syntax) и разработанный ETSI. Главным документом, описывающим данный стандарт, является ETSI TS 101 733 Electronic Signature and Infrastructure (ESI) - CMS Advanced Electronic Signature (CAdES). Первая версия стандарта появилась в декабре 2000 года, последняя - в апреле 2013 года (версия 2.2.1). В настоящее время (апрель 2014 года) ведётся работа по созданию нового стандарта CAdES .
 В стандарте подписи CAdES исправлены такие недостатки CMS, как отсутствие штампа доверенного времени создания подписи (и, как следствие, отсутствие доказательства существования подписи на некоторый момент времени и доказательства подлинности сертификатов на момент генерации подписи), отсутствие типа содержимого подписи и отсутствие возможности долгосрочного сохранения подлинности подписи.
 В стандарте определены несколько форматов электронной подписи, отличающихся по степени защиты. Каждый последующий формат включает в себя предыдущий и расширяет его:
 CAdES-BES (Basic Electronic Signature) - основной и простейший формат электронной подписи, описываемый в стандарте CAdES. Он обеспечивает базовую проверку подлинности данных и защиту их целостности. Включенные в него атрибуты (поля, содержащие определенную информацию) должны присутствовать и в других форматах CAdES.
 CAdES-BES содержит следующие атрибуты:
 Также CAdES-BES может содержать:
 Обязательными подписываемыми атрибутами в CAdES-BES являются:
 Данный атрибут определяет тип содержимого подписываемых данных. В отличие от CAdES, в CMS данный атрибут не является обязательным.
 Во время представления подписываемых данных пользователю может быть необходимым добавление дополнительной информации о формате данных (изображение, аудиофайл, видеофайл, текст). Это достигается путём использования стандарта кодирования данных MIME.
 Данный атрибут определяет хеш-сумму подписываемых данных. Она может быть вычислена как от подписываемых данных, так и от совокупности подписываемых данных и атрибутов. Для вычисления хеш-суммы обычно используется алгоритм SHA-1.
 Данный атрибут определяет идентификатор подписывающей стороны, вычисляемый по её сертификату открытого ключа.
 Многие современные схемы электронной подписи просто прикрепляют сертификат к подписи, и кто угодно может подменить этот сертификат, так что данные будут подписаны кем-то другим (атака подменой). В целях защиты от этого, в CAdES идентификатор сертификата подписывающей стороны включают в электронную подпись, чтобы при замене сертификата подпись определялась проверяющей стороной как недействительная.
 В подпись CAdES-BES также могут быть включены дополнительные подписываемые атрибуты:
 Данный атрибут определяет момент времени, заявленный подписывающей стороной, в который предположительно совершается процесс генерации подписи. На корректность этого времени не налагается никаких требований. Поэтому получатель сообщения может доверять или не доверять этому параметру по своему усмотрению.
 Данный атрибут предоставляет информацию о внутренних подписываемых данных многослойного сообщения, если одни данные этого сообщения встроены в другие ("намекается" на наличие этих данных, от англ. hint - намёк). Это может быть полезно, если подписываемые данные сами по себе зашифрованы, и о наличии вложенных данных заранее неизвестно.
 Данный атрибут хранит информацию о связи одного подписываемого сообщения с другим. Он может быть использован, например, чтобы связать изначальное сообщение с ответом на него, или чтобы включить одно подписанное сообщение в другое при помощи ссылки. В последнем случае подпись первого сообщения должна содержать атрибут content-identifier. Второе сообщение связано с первым при помощи добавления в его подпись атрибута content-reference, а также атрибутов content-type, content-identifier и значения цифровой подписи первого сообщения.
 Данный атрибут определяет идентификатор подписанного сообщения, который может использоваться для ссылки на это сообщение в будущем (с помощью атрибута content-reference, содержащемся в сообщении, отправленном позднее).
 Данный атрибут несёт информацию об обязательстве, которое берет на себя подписывающая сторона при генерации подписи для сообщения. Тип обязательства может быть выражен явно через использование данного атрибута, а также явно или неявно через значение (семантику) подписываемых данных.
 Данный атрибут определяет предположительное местонахождение подписывающей стороны на момент генерации подписи.
 Данный атрибут определяет дополнительные атрибуты подписанта (например, его роль в некоторой деятельности). Эти атрибуты также называются атрибутами роли (role attributes). В определенных случаях позиция подписанта в компании или организации так же важна, как и его имя. Некоторые данные (например, контракт между двумя сторонами), могут иметь юридическую силу, только если подписант занимает определенную должность (например, менеджер по продажам). Во многих случаях не важно, кто именно занимает данную должность, но необходимо быть уверенным в том, что компания снабдила подписанта полномочиями лица, занимающего данную должность. Определено два типа роли:
 Данный атрибут позволяет включить подписываемую временную отметку в подписываемые данные. С помощью этого атрибута подписывающая сторона представляет доказательство существования этих данных до момента времени, указанного в данной отметке. Перед подписанием данных можно получить доверенное время и включить его в электронную подпись. Оно может быть получено до создания подписи при подключении с службе штампов времени (time-stamp service), поэтому оно может не являться точным временем создания подписи.
 Данный атрибут предоставляет информацию о MIME-типе подписываемого сообщения (программа, аудиофайл, изображение, текст, видеофайл) в случае использования стандарта кодирования сообщений MIME. Он схож с атрибутом content-hints, но может быть использован как для многослойных, так и для однослойных сообщений.
 Помимо подписываемых атрибутов, в CAdES-BES может быть включен неподписываемый атрибут counter-signature. Он определяет факт многократного подписывания сообщения. Некоторые документы могут иметь силу, только если они несут более одной подписи. Обычно такая ситуация возникает при подписании контракта между двумя сторонами - каждая сторона должна подписать контракт. В стандарте определены два типа многократной подписи:
 CAdES-EPES (Explicit Policy-based Electronic Signature) - это формат электронной подписи, содержащий в себе явное указание на выбранный регламент подписи.
 Регламент подписи - набор правил, определяющих технические и процедурные требования к генерации и проверке электронной подписи с целью удовлетворения определенных деловых потребностей. 
Подпись типа CAdES-EPES содержит подписываемый атрибут signature-policy-identifier, который определяет идентификатор выбранного регламента подписи. Подписывая этот идентификатор, подписывающая сторона явно указывает, что она применила определенный регламент при её создании. Соответственно, проверяющая сторона должна осуществить проверку подписи по тому же регламенту. Сам регламент должен быть доступен в явном читабельном виде.
 Следующие форматы электронной подписи содержат дополнительные данные, необходимые для проверки подписи. Эти данные называются проверочными и представляют собой:
 CAdES-T (Timestamp) - это формат электронной подписи с доверенным временем. Доверенное время может быть указано следующими способами:
 Иногда возникает ситуация, в которой использованные сертификаты, будучи действительными на момент генерации подписи, были отозваны после этого. Поэтому для доказательства того, что данные были подписаны до отзыва сертификатов, и что эти данные существовали на определенный момент времени, используются штампы времени. Они формируются в следующем порядке:
 Атрибут signature-time-stamp как раз и содержит этот штамп времени. Штамп времени должен быть создан на момент, на который сертификаты и ключи ещё действительны. Если он был создан после истечения срока хотя бы одного сертификата, он не имеет ценности при проверке подписи. В случае отсутствия атрибута signature-time-stamp метка времени должна предоставляться поставщиком доверенных услуг.
Включение в подпись доверенного времени предоставляет начальные возможности для обеспечения долгосрочного действия электронной подписи. Важным свойством такой подписи является то, что если подпись была признана действительной, то она продолжит быть действительной через несколько месяцев или даже лет.
 CAdES-C (Complete) - это формат электронной подписи с полным набором проверочных данных. Она отличается от CAdES-T добавлением неподписываемых атрибутов complete-certificate-references и complete-revocation-references. Первый атрибут содержит идентификаторы всех сертификатов, использующихся при проверке подписи. Второй атрибут содержит идентификаторы сертификатов из списка отзыва сертификатов (Certificate Revocation Lists, CRL) и/или ответы протокола установления статуса сертификатов (Online Certificate Status Protocol, OCSP), которые используются для проверки подписи.
Включение этих атрибутов облегчает получение сведений о сертификатах, которые необходимы проверяющей стороне для последующих проверок подписи, так как при этом данные о действительных и недействительных сертификатах уже будут содержаться в подписи.
 Следующие форматы расширяют формат CAdES-C добавлением некоторых неподписанных атрибутов в подпись.
 CAdES-X Long - формат долгосрочной расширенной подписи. Этот формат добавляет в CAdES-C атрибуты certificate-values и revocation-values, которые представляют собой полные данные сертификатов и списки отзыва сертификатов. Этим обеспечивается доступ ко всей информации о сертификатах и отзывах, необходимых для проверки подписи CAdES-C (даже если их исходный источник недоступен), и предотвращается возможность утери этой информации.
 Данный формат добавляет в CAdES-C атрибут CAdES-C-time-stamp, который содержит штамп времени на всей подписи CAdES-C. Это обеспечивает целостность и наличие доверенного времени во всех элементах подписи. Тем самым, этот атрибут позволяет защитить сертификаты, списки отзыва сертификатов и ответы протокола установления статуса сертификатов, информация о которых записана в подписи, при компрометации ключа центра сертификации, ключа издателя списка отзыва сертификатов или ключа издателя протокола установления статуса сертификатов.
 Этот формат подписи отличается от CAdES-X Type 1 только тем, что штамп времени ставится не на всю подпись CAdES-C, а только на полные ссылки на сертификаты и списки отзыва сертификатов.
 Форматы CAdES-X Long Type 1 и CAdES-X Long Type 2 представляют собой объединение формата CAdES-X Long и соответственно CAdES-X Type 1 и CAdES-X Type 2.
 CAdES-A (Archival) - формат электронной подписи, сформированный на основе CAdES-X Long Type 1 или Type 2 путём добавления одного или нескольких атрибутов archive-time-stamp, представляющих собой архивные штампы времени. Данный формат используется для архивации долгосрочных подписей.
 Со временем стойкость криптографических алгоритмов ухудшается в связи с развитием методов криптоанализа и вычислительной отрасли. Периодические архивные штампы времени защищают всё содержимое подписи при выявлении уязвимостей используемых криптографических хеш-функций, при взломе используемых криптографических алгоритмов и при компрометации ключей.
Последовательность штампов времени может предоставить защиту от подделки подписи при условии, что эти штампы были применены до компрометации ключа службы штампов времени. Для этого необходимо, чтобы службы штампов времени использовали длинные ключи для алгоритмов генерации подписи (на момент написания последней версии стандарта подписи CAdES минимальная длина ключа для подписи RSA составляла 2048 бит), или более стойкие криптографические алгоритмы. Периодическое наложение штампов времени на подпись позволяет сохранить её подлинность на очень большие периоды времени.