fmgp.did.comm
Members list
Type members
Classlikes
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ProtectedHeaderTMPclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ProtectedHeadertrait ProtectedHeaderTMPclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AnonProtectedHeader.type
Value parameters
- byte_count
-
mostly relevant when content is included by reference instead of by value. Lets the receiver guess how expensive it will be, in time, bandwidth, and storage, to fully fetch the attachment
- data
-
JSON object that gives access to the actual content of the attachment. This MUST contain at least one of the following subfields, and enough of them to allow access to the data
- description
-
human-readable description of the content
- filename
-
hint about the name that might be used if this attachment is persisted as a file. It need not be unique. If this field is present and media_type is not, the extension on the filename may be used to infer a MIME type.
- format
-
further describes the format of the attachment if the media_type is not sufficient
- id
-
but recommended. Identifies attached content within the scope of a given message, so it can be referenced. For example, in a message documenting items for sale on an auction website, there might be a field named front_view that contains the value #attachment1; this would reference an attachment to the message with id equal to attachment1. If omitted, then there is no way to refer to the attachment later in the thread, in error messages, and so forth. Because the id of an attachment is used to compose URIs, this value should be brief and MUST consist entirely of unreserved URI characters – meaning that it is not necessary to percent encode the value to incorporate it in a URI.
- lastmod_time
-
hint about when the content in this attachment was last modified
- media_type
-
describes the media type of the attached content
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
Attachment.type
A JSON object that gives access to the actual content of the attachment.
A JSON object that gives access to the actual content of the attachment.
This MUST contain at least one of the following subfields, and enough of them to allow access to the data:
Value parameters
- base64
-
OPTIONAL. Base64url-encoded data, when representing arbitrary content inline instead of via links.
- hash
-
OPTIONAL. The hash of the content encoded in multi-hash format. Used as an integrity check for the attachment, and MUST be used if the data is referenced via the links data attribute.
- json
-
OPTIONAL. Directly embedded JSON data, when representing content inline instead of via links, and when the content is natively conveyable as JSON.
- jws
-
OPTIONAL. A JWS in detached content mode, where the payload field of the JWS maps to base64 or to something fetchable via links. This allows attachments to be signed. The signature need not come from the author of the message.
- links
-
OPTIONAL. A list of zero or more locations at which the content may be fetched. This allows content to be attached by reference instead of by value.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class AttachmentDataAnyclass AttachmentDataBase64class AttachmentDataJWSclass AttachmentDataJsonclass AttachmentDataLinks
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AttachmentData.type
This class is not intended to be used. (Is just a fallback to be fully compatible with the specification)
This class is not intended to be used. (Is just a fallback to be fully compatible with the specification)
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AttachmentDataclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AttachmentDataAny.type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AttachmentDataclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AttachmentDataBase64.type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AttachmentDataclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AttachmentDataJWS.type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AttachmentDataclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AttachmentDataJson.type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AttachmentDataclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AttachmentDataLinks.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ProtectedHeaderTMPclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ProtectedHeadertrait ProtectedHeaderTMPclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
AuthProtectedHeader.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CipherText.type
Attributes
- Companion
- enum
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ENCAlgorithm.type
DIDComm messaging
DIDComm messaging
The encrypted form of a JWM is a JWE in General JSON Format.
- JWM - https://datatracker.ietf.org/doc/html/draft-looker-jwm-01
- DIDComm encrypted message - https://identity.foundation/didcomm-messaging/spec/#didcomm-encrypted-messages
- JWA - https://datatracker.ietf.org/doc/html/rfc7518
DIDComm messaging support only a subset of the supported algorithms of JWAs
Types:
- "authcrypt" - Authenticated Sender Encryption
- ECDH-1PU MUST be used within the structure of a JWE. https://datatracker.ietf.org/doc/html/draft-madden-jose-ecdh-1pu-04
- "anoncrypt" - Anonymous Sender Encryption
- ECDH-ES defined by RFC-7518 be used within the structure of a JWE. https://tools.ietf.org/html/rfc7518#section-4.6
Content Encryption Algorithms: (with a AES 256-bit keys, or with an optional implementation using XC20P algorithm) https://identity.foundation/didcomm-messaging/spec/#curves-and-content-encryption-algorithms
- X25519
- P-384
- P-256 (deprecated in favor of P-384)
- P-521 (Optional)
JWE protected
header enc
MUST be one of:
- A256CBC-HS512
- A256GCM
- XC20P (XChaCha20Poly1305 with a 256 bit key)
JWE protected
header alg
can be one of: https://identity.foundation/didcomm-messaging/spec/#key-wrapping-algorithms
- ECDH-ES+A256KW (with P-256; P-384; P-521; X25519) for "anoncrypt" messages
- ECDH-1PU+A256KW (with P-256; P-384; P-521; X25519) for "authcrypt" messages
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class EncryptedMessageGeneric
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
EncryptedMessage.type
TODO - To prevent invalid curve and weak point attacks, implementations that decrypt messages from a NIST curve MUST verify that the received public key (contained in the JWE protected header) is on the curve in question. This check may already be done by some JOSE libraries, but developers should not assume this is the case. See this explanation of the risk, and this practical guide for how to perform the verification correctly. https://neilmadden.blog/2017/05/17/so-how-do-you-validate-nist-ecdh-public-keys/
TODO - To prevent invalid curve and weak point attacks, implementations that decrypt messages from a NIST curve MUST verify that the received public key (contained in the JWE protected header) is on the curve in question. This check may already be done by some JOSE libraries, but developers should not assume this is the case. See this explanation of the risk, and this practical guide for how to perform the verification correctly. https://neilmadden.blog/2017/05/17/so-how-do-you-validate-nist-ecdh-public-keys/
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait EncryptedMessagetrait Messageclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
JSON_RFC7159.type
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
JWMSignatureObj.type
Attributes
- Companion
- enum
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
KWAlgorithm.type
IANA Media Types
IANA Media Types
https://identity.foundation/didcomm-messaging/spec/#iana-media-types
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- enum
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
MediaTypes.type
DID Comm Message
DID Comm Message
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait EncryptedMessageclass EncryptedMessageGenerictrait PlaintextMessageclass PlaintextMessageClassclass SignedMessage
DID Comm operations
DID Comm operations
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class OperationsImp
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Operations.type
TODO Fix all FIXME
TODO Fix all FIXME
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
OperationsImp.type
Attributes
- Companion
- object
- Supertypes
https://identity.foundation/didcomm-messaging/spec/#message-headers
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class PlaintextMessageClass
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PlaintextMessage.type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait PlaintextMessagetrait Messageclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
https://identity.foundation/didcomm-messaging/spec/#message-headers
Attributes
- Supertypes
"epk": {"kty":"OKP","crv":"X25519","x":"JHjsmIRZAaB0zRG_wNXLV2rPggF00hdHbW5rj8g0I24"},
"apv":"NcsuAnrRfPK69A-rkZ0L9XWUG4jMvNC3Zg74BPz53PA",
"typ":"application/didcomm-encrypted+json",
"enc":"XC20P",
"alg":"ECDH-ES+A256KW"
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class AnonProtectedHeaderclass AuthProtectedHeader
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ProtectedHeader.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class AnonHeaderBuilderclass AuthHeaderBuildertrait ProtectedHeaderclass AnonProtectedHeaderclass AuthProtectedHeader
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
RecipientHeader.type
https://github.com/decentralized-identity/didcomm-messaging/blob/main/extensions/return_route/main.md
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- enum
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
ReturnRoute.type
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
SignProtectedHeader.type
SignedMessage is a JSON Web Message (JWM)
SignedMessage is a JSON Web Message (JWM)
JWM is a flexible way to encode application-level messages in JSON for transfer over a variety of transport protocols. JWMs use JSON Web Encryption (JWE) to protect integrity, achieve confidentiality, and achieve repudiable authentication; alternatively or in addition, they use JSON Web Signatures (JWS) to associate messages with a non-repudiable digital signature.
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- class
- Supertypes
-
trait Producttrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
SignedMessage.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Types
APU is a Base64 url encode
APU is a Base64 url encode
Attributes
APV is a Base64 url encode
APV is a Base64 url encode
Attributes
CipherText is a Base64 url encode
CipherText is a Base64 url encode
Attributes
FROM is a DID URL with Path and Query parameter (that can be missing) (no-fragment)
FROM is a DID URL with Path and Query parameter (that can be missing) (no-fragment)
Attributes
- Note
-
the class TO is just a copy of this class and replace FROM with TO
InitializationVector is a Base64 url encode
InitializationVector is a Base64 url encode
Attributes
The Value is a short (<=32 bytes) string consisting entirely of unreserved URI characters.
The Value is a short (<=32 bytes) string consisting entirely of unreserved URI characters.
unreserved URI characters - https://datatracker.ietf.org/doc/html/rfc3986/#section-2.3:
- Characters that are allowed in a URI but do not have a reserved purpose are called unreserved. These include uppercase and lowercase letters, decimal digits, hyphen, period, underscore, and tilde:
- unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~"
Attributes
AuthenticationTag is a Base64 url encode
AuthenticationTag is a Base64 url encode
Attributes
TO is a DID URL with Path and Query parameter (that can be missing) (no-fragment)
TO is a DID URL with Path and Query parameter (that can be missing) (no-fragment)
Attributes
- Note
-
the class FROM is just a copy of this class and replace TO with FROM
Extensions
Extensions
Hide implementation details to improve the API
Hide implementation details to improve the API
Note: methods names SHOULD be different from the methods extension in JWTOperations.type