Skip to content

Commit

Permalink
Added class for header algorithm RS256. The class does not yet implem…
Browse files Browse the repository at this point in the history
…ent the RSA signing. Additionally a switch for checking signature has been added. So it can be used with non-checking in case of RSA
  • Loading branch information
noha committed Nov 24, 2017
1 parent 555aa68 commit 4a4d20e
Show file tree
Hide file tree
Showing 11 changed files with 41 additions and 17 deletions.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
accessing
parameterValue
^ 'RS256'
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
sign
signMessage: aString withKey: anObject
self notYetImplemented
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"commentStamp" : "",
"super" : "JsonWebAlgorithm",
"category" : "JSONWebToken-Core-JSONWebToken-Core",
"classinstvars" : [ ],
"pools" : [ ],
"classvars" : [ ],
"instvars" : [ ],
"name" : "JWARSASHA256",
"type" : "normal"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,11 +1,3 @@
reading
materialize: aString key: aKeyString
| parts header jws |
parts := $. split: aString.
header := JWSHeader fromJson: (parts at: 1) base64Decoded.
jws := JsonWebSignature new
key: aKeyString;
setProtectedHeader: header.
((jws signatureFor: ($. join: { parts first . parts second })) = parts third base64Decoded asByteArray) ifFalse: [
Error signal: 'signature does not match' ].
^ jws payload: (JWTClaimsSet fromJson: parts second base64Decoded)
^ self materialize: aString key: aKeyString checkSignature: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
reading
materialize: aString key: aKeyString checkSignature: checkSignature
| parts header jws |
parts := $. split: aString.
header := JWSHeader fromJson: (parts at: 1) base64Decoded.
jws := JsonWebSignature new
key: aKeyString;
setProtectedHeader: header.
checkSignature ifTrue: [
jws checkSignature: parts ].
^ jws payload: (JWTClaimsSet fromJson: parts second base64Decoded)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
materializing
materializeCompact: aString key: aKeyString
^ JWSCompactSerializer new materialize: aString key: aKeyString
^ self materializeCompact: aString key: aKeyString checkSignature: true

Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
materializing
materializeCompact: aString key: aKeyString checkSignature: checkSignature
^ JWSCompactSerializer new materialize: aString key: aKeyString checkSignature: checkSignature

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
accessing
algorithm
^ self protectedHeader algorithm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
signature
checkSignature: parts
((self signatureFor: ($. join: { parts first . parts second })) = parts third base64Decoded asByteArray) ifFalse: [
Error signal: 'signature does not match' ].

0 comments on commit 4a4d20e

Please sign in to comment.