Package swim.security

Class JsonWebSignature

  • All Implemented Interfaces:
    swim.codec.Debug

    public class JsonWebSignature
    extends Object
    implements swim.codec.Debug
    • Field Detail

      • unprotectedHeader

        protected final swim.structure.Value unprotectedHeader
      • protectedHeader

        protected final swim.structure.Value protectedHeader
      • signingInput

        protected final swim.structure.Data signingInput
      • payloadData

        protected final swim.structure.Data payloadData
      • signatureData

        protected final swim.structure.Data signatureData
    • Constructor Detail

      • JsonWebSignature

        public JsonWebSignature​(swim.structure.Value unprotectedHeader,
                                swim.structure.Value protectedHeader,
                                swim.structure.Data signingInput,
                                swim.structure.Data payloadData,
                                swim.structure.Data signatureData)
    • Method Detail

      • unprotectedHeader

        public final swim.structure.Value unprotectedHeader()
      • unprotectedHeader

        public JsonWebSignature unprotectedHeader​(swim.structure.Value unprotectedHeader)
      • protectedHeader

        public final swim.structure.Value protectedHeader()
      • signingInput

        public final swim.structure.Data signingInput()
      • payloadData

        public final swim.structure.Data payloadData()
      • payload

        public final <T> T payload​(swim.codec.Decoder<T> decoder)
      • payload

        public final <T> T payload​(swim.structure.Form<T> form)
      • payload

        public final swim.structure.Value payload()
      • signatureData

        public final swim.structure.Data signatureData()
      • get

        public swim.structure.Value get​(String name)
      • algorithm

        public String algorithm()
      • jsonWebKeySetUrl

        public String jsonWebKeySetUrl()
      • keyId

        public String keyId()
      • x509Url

        public String x509Url()
      • x509CertificateChain

        public swim.collections.FingerTrieSeq<String> x509CertificateChain()
      • x509Sha1Thumbprint

        public String x509Sha1Thumbprint()
      • x509Sha256Thumbprint

        public String x509Sha256Thumbprint()
      • contentType

        public String contentType()
      • critical

        public swim.collections.HashTrieSet<String> critical()
      • verifyMac

        public boolean verifyMac​(Key symmetricKey)
      • verifyMac

        public boolean verifyMac​(Mac mac,
                                 Key symmetricKey)
      • verifySignature

        public boolean verifySignature​(PublicKey publicKey)
      • verifyRSASignature

        public boolean verifyRSASignature​(Signature signature,
                                          PublicKey publicKey)
      • verifyECDSASignature

        public boolean verifyECDSASignature​(Signature signature,
                                            PublicKey publicKey)
      • writeJws

        public swim.codec.Writer<?,​JsonWebSignature> writeJws​(swim.codec.Output<?> output)
      • toJws

        public String toJws()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • debug

        public <T> swim.codec.Output<T> debug​(swim.codec.Output<T> output)
        Specified by:
        debug in interface swim.codec.Debug
      • create

        public static JsonWebSignature create​(swim.structure.Value unprotectedHeader,
                                              swim.structure.Data signingInput,
                                              swim.structure.Data protectedHeaderData,
                                              swim.structure.Data payloadData,
                                              swim.structure.Data signatureData)
      • create

        public static JsonWebSignature create​(swim.structure.Data signingInput,
                                              swim.structure.Data protectedHeaderData,
                                              swim.structure.Data payloadData,
                                              swim.structure.Data signatureData)
      • create

        public static JsonWebSignature create​(swim.structure.Value unprotectedHeader,
                                              swim.structure.Data protectedHeaderData,
                                              swim.structure.Data payloadData,
                                              swim.structure.Data signatureData)
      • create

        public static JsonWebSignature create​(swim.structure.Data protectedHeaderData,
                                              swim.structure.Data payloadData,
                                              swim.structure.Data signatureData)
      • hmacSHA

        public static JsonWebSignature hmacSHA​(Mac mac,
                                               Key symmetricKey,
                                               swim.structure.Value unprotectedHeader,
                                               swim.structure.Value protectedHeader,
                                               swim.structure.Data signingInput,
                                               swim.structure.Data payloadData)
      • hmacSHA

        public static JsonWebSignature hmacSHA​(Mac mac,
                                               Key symmetricKey,
                                               swim.structure.Value unprotectedHeader,
                                               swim.structure.Value protectedHeader,
                                               swim.structure.Data payloadData)
      • hmacSHA

        public static JsonWebSignature hmacSHA​(Key symmetricKey,
                                               swim.structure.Value unprotectedHeader,
                                               swim.structure.Value protectedHeader,
                                               swim.structure.Data payloadData)
      • mac

        public static JsonWebSignature mac​(Key symmetricKey,
                                           swim.structure.Value unprotectedHeader,
                                           swim.structure.Value protectedHeader,
                                           swim.structure.Data payloadData)
      • mac

        public static JsonWebSignature mac​(Key symmetricKey,
                                           swim.structure.Value protectedHeader,
                                           swim.structure.Data payloadData)
      • mac

        public static JsonWebSignature mac​(Key symmetricKey,
                                           swim.structure.Data payloadData)
      • signRSA

        public static JsonWebSignature signRSA​(Signature signature,
                                               PrivateKey privateKey,
                                               int keyLength,
                                               swim.structure.Value unprotectedHeader,
                                               swim.structure.Value protectedHeader,
                                               swim.structure.Data signingInput,
                                               swim.structure.Data payloadData)
      • signRSA

        public static JsonWebSignature signRSA​(Signature signature,
                                               PrivateKey privateKey,
                                               int keyLength,
                                               swim.structure.Value unprotectedHeader,
                                               swim.structure.Value protectedHeader,
                                               swim.structure.Data payloadData)
      • signRSA

        public static JsonWebSignature signRSA​(PrivateKey privateKey,
                                               swim.structure.Value unprotectedHeader,
                                               swim.structure.Value protectedHeader,
                                               swim.structure.Data payloadData)
      • signECDSA

        public static JsonWebSignature signECDSA​(Signature signature,
                                                 PrivateKey privateKey,
                                                 int keyLength,
                                                 swim.structure.Value unprotectedHeader,
                                                 swim.structure.Value protectedHeader,
                                                 swim.structure.Data signingInput,
                                                 swim.structure.Data payloadData)
      • signECDSA

        public static JsonWebSignature signECDSA​(Signature signature,
                                                 PrivateKey privateKey,
                                                 int keyLength,
                                                 swim.structure.Value unprotectedHeader,
                                                 swim.structure.Value protectedHeader,
                                                 swim.structure.Data payloadData)
      • signECDSA

        public static JsonWebSignature signECDSA​(PrivateKey privateKey,
                                                 swim.structure.Value unprotectedHeader,
                                                 swim.structure.Value protectedHeader,
                                                 swim.structure.Data payloadData)
      • sign

        public static JsonWebSignature sign​(PrivateKey privateKey,
                                            swim.structure.Value unprotectedHeader,
                                            swim.structure.Value protectedHeader,
                                            swim.structure.Data payloadData)
      • sign

        public static JsonWebSignature sign​(PrivateKey privateKey,
                                            swim.structure.Value protectedHeader,
                                            swim.structure.Data payloadData)