Skip to content

Commit 4a4d20e

Browse files
committed
Added class for header algorithm RS256. The class does not yet implement the RSA signing. Additionally a switch for checking signature has been added. So it can be used with non-checking in case of RSA
1 parent 555aa68 commit 4a4d20e

File tree

11 files changed

+41
-17
lines changed

11 files changed

+41
-17
lines changed

source/JSONWebToken-Core.package/JWARSASHA256.class/README.md

Whitespace-only changes.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
accessing
2+
parameterValue
3+
^ 'RS256'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
sign
2+
signMessage: aString withKey: anObject
3+
self notYetImplemented
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"commentStamp" : "",
3+
"super" : "JsonWebAlgorithm",
4+
"category" : "JSONWebToken-Core-JSONWebToken-Core",
5+
"classinstvars" : [ ],
6+
"pools" : [ ],
7+
"classvars" : [ ],
8+
"instvars" : [ ],
9+
"name" : "JWARSASHA256",
10+
"type" : "normal"
11+
}

source/JSONWebToken-Core.package/JWSCompactSerializer.class/instance/materialize..st

Lines changed: 0 additions & 7 deletions
This file was deleted.
Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
11
reading
22
materialize: aString key: aKeyString
3-
| parts header jws |
4-
parts := $. split: aString.
5-
header := JWSHeader fromJson: (parts at: 1) base64Decoded.
6-
jws := JsonWebSignature new
7-
key: aKeyString;
8-
setProtectedHeader: header.
9-
((jws signatureFor: ($. join: { parts first . parts second })) = parts third base64Decoded asByteArray) ifFalse: [
10-
Error signal: 'signature does not match' ].
11-
^ jws payload: (JWTClaimsSet fromJson: parts second base64Decoded)
3+
^ self materialize: aString key: aKeyString checkSignature: true
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
reading
2+
materialize: aString key: aKeyString checkSignature: checkSignature
3+
| parts header jws |
4+
parts := $. split: aString.
5+
header := JWSHeader fromJson: (parts at: 1) base64Decoded.
6+
jws := JsonWebSignature new
7+
key: aKeyString;
8+
setProtectedHeader: header.
9+
checkSignature ifTrue: [
10+
jws checkSignature: parts ].
11+
^ jws payload: (JWTClaimsSet fromJson: parts second base64Decoded)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
materializing
22
materializeCompact: aString key: aKeyString
3-
^ JWSCompactSerializer new materialize: aString key: aKeyString
3+
^ self materializeCompact: aString key: aKeyString checkSignature: true
44

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
materializing
2+
materializeCompact: aString key: aKeyString checkSignature: checkSignature
3+
^ JWSCompactSerializer new materialize: aString key: aKeyString checkSignature: checkSignature
4+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
accessing
2+
algorithm
3+
^ self protectedHeader algorithm

0 commit comments

Comments
 (0)