generateSignatureJwk works with both ursa and forge :)
This commit is contained in:
		
							parent
							
								
									a9f8186dd4
								
							
						
					
					
						commit
						09c15b9d1a
					
				
							
								
								
									
										10
									
								
								node.js
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								node.js
									
									
									
									
									
								
							| @ -110,7 +110,15 @@ function create(deps) { | |||||||
|   }; |   }; | ||||||
|   RSA._forgeGenerateSig = function (keypair, sha256Buf) { |   RSA._forgeGenerateSig = function (keypair, sha256Buf) { | ||||||
|     var forge = require('node-forge'); |     var forge = require('node-forge'); | ||||||
|     var md = forge.util.createBuffer(sha256Buf.toString('binary'), 'binary'); |     var bufF = forge.util.createBuffer(sha256Buf.toString('binary'), 'binary'); | ||||||
|  |     var md = { | ||||||
|  |       algorithm: 'sha256' | ||||||
|  |     , blockLength: 64 | ||||||
|  |     , digestLength: 20 | ||||||
|  |     , digest: function () { | ||||||
|  |         return bufF; | ||||||
|  |       } | ||||||
|  |     }; | ||||||
|     var sigF = keypair._forge.sign(md); |     var sigF = keypair._forge.sign(md); | ||||||
|     var sig64 = RSA.utils.toWebsafeBase64( |     var sig64 = RSA.utils.toWebsafeBase64( | ||||||
|       new Buffer(forge.util.bytesToHex(sigF), "hex").toString('base64') |       new Buffer(forge.util.bytesToHex(sigF), "hex").toString('base64') | ||||||
|  | |||||||
| @ -16,7 +16,8 @@ var keypair = { | |||||||
|   } |   } | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| var result = { | /* | ||||||
|  | var ursaResult = { | ||||||
|   "header": { |   "header": { | ||||||
|     "alg": "RS256", |     "alg": "RS256", | ||||||
|     "jwk": { |     "jwk": { | ||||||
| @ -29,6 +30,20 @@ var result = { | |||||||
|   "payload": "JLzF1NBNCV3kfbJ5sFaFyX94fJuL2H-IzaoBN-ciiHk", |   "payload": "JLzF1NBNCV3kfbJ5sFaFyX94fJuL2H-IzaoBN-ciiHk", | ||||||
|   "signature": "Wb2al5SDyh5gjmkV79MK9m3sfNBBPjntSKor-34BBoGwr6n8qEnBmqB1Y4zbo-5rmvsoPmJsnRlP_hRiUY86zSAQyfbisTGrGBl0IQ7ditpkfYVm0rBWJ8WnYNqYNp8K3qcD7NW72tsy-XoWEjNlz4lWJeRdEG2Nt4CJgnREH4Y" |   "signature": "Wb2al5SDyh5gjmkV79MK9m3sfNBBPjntSKor-34BBoGwr6n8qEnBmqB1Y4zbo-5rmvsoPmJsnRlP_hRiUY86zSAQyfbisTGrGBl0IQ7ditpkfYVm0rBWJ8WnYNqYNp8K3qcD7NW72tsy-XoWEjNlz4lWJeRdEG2Nt4CJgnREH4Y" | ||||||
| }; | }; | ||||||
|  | var forgeResult = { | ||||||
|  |   "header": { | ||||||
|  |     "alg": "RS256", | ||||||
|  |     "jwk": { | ||||||
|  |       "kty": "RSA", | ||||||
|  |       "n": "AMJubTfOtAarnJytLE8fhNsEI8wnpjRvBXGK/Kp0675J10ORzxyMLqzIZF3tcrUkKBrtdc79u4X0GocDUgukpfkY+2UPUS/GxehUYbYrJYWOLkoJWzxn7wfoo9X1JgvBMY6wHQnTKvnzZdkom2FMhGxkLaEUGDSfsNznTTZNBBg9", | ||||||
|  |       "e": "AQAB" | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   "protected": "eyJub25jZSI6IjhlZjU2MjRmNWVjOWQzZWYifQ", | ||||||
|  |   "payload": "JLzF1NBNCV3kfbJ5sFaFyX94fJuL2H-IzaoBN-ciiHk", | ||||||
|  |   "signature": "Wb2al5SDyh5gjmkV79MK9m3sfNBBPjntSKor-34BBoGwr6n8qEnBmqB1Y4zbo-5rmvsoPmJsnRlP_hRiUY86zSAQyfbisTGrGBl0IQ7ditpkfYVm0rBWJ8WnYNqYNp8K3qcD7NW72tsy-XoWEjNlz4lWJeRdEG2Nt4CJgnREH4Y" | ||||||
|  | }; | ||||||
|  | */ | ||||||
| 
 | 
 | ||||||
| var jws = RSA.generateSignatureJwk( | var jws = RSA.generateSignatureJwk( | ||||||
|   keypair |   keypair | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user