github.com/hyperledger/aries-framework-go@v0.3.2/pkg/doc/sdjwt/sdjwt-doc.go (about)

     1  /*
     2  Copyright SecureKey Technologies Inc. All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  // Package sdjwt implements creating JSON Web Token (JWT) documents that support selective disclosure of JWT claims.
     8  //
     9  // In an SD-JWT, claims can be hidden, but cryptographically protected against undetected modification.
    10  //
    11  // When issuing the SD-JWT to the Holder, the Issuer also sends the cleartext counterparts of all hidden claims,
    12  // the so-called Disclosures, separate from the SD-JWT itself.
    13  //
    14  // The Holder decides which claims to disclose to a Verifier and forwards the respective Disclosures
    15  // together with the SD-JWT to the Verifier.
    16  //
    17  // The Verifier has to verify that all disclosed claim values were part of the original, Issuer-signed SD-JWT.
    18  // The Verifier will not, however, learn any claim values not disclosed in the Disclosures.
    19  //
    20  // This implementation supports:
    21  //
    22  // - selectively disclosable claims in flat data structures as well as more complex, nested data structures
    23  //
    24  // - combining selectively disclosable claims with clear-text claims that are always disclosed
    25  //
    26  // - options for specifying registered claim names that will be included in plaintext (e.g. iss, exp, or nbf)
    27  //
    28  // - option for configuring clear-text claims
    29  //
    30  // For selectively disclosable claims, claim names are always blinded.
    31  //
    32  // This implementation also supports an optional mechanism for Holder Binding,
    33  // the concept of binding an SD-JWT to key material controlled by the Holder.
    34  // The strength of the Holder Binding is conditional upon the trust in the protection
    35  // of the private key of the key pair an SD-JWT is bound to.
    36  package sdjwt