Subject: [jose] Updated JWA algorithm support table

From: Mike Jones <[email-masked]>
Date: Sat, 28 Jul 2012 03:01:50 +0000

New columns added for NSS and Windows native crypto, plus more data for OS X and Ruby.  Thanks to Nov Matake, Christopher Kula, Wan-Teh Chang, Ryan Sleevi, Vijay Bharadwaj, and Brian LaMacchia for the additional data.

                                                            -- Mike

Usage

Param Name

Param Val

Description

.NET

Windows native

OS X

iOS

Java JCA

BouncyCastle

Android

PHP

PHPSecLib

Python

M2Crypto

PyCrypto

Ruby

OpenSSL

node.js

NSS

JWS/JWE

alg/int

HS256

HMAC w/ SHA-256 hash

YES

XP SP2

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

JWS/JWE

alg/int

HS384

HMAC w/ SHA-384 hash

YES

XP SP2

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

JWS/JWE

alg/int

HS512

HMAC w/ SHA-512 hash

YES

XP SP2

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

YES

JWS

alg

RS256

RSA w/ SHA-256 hash

YES

XP SP2

YES

YES

YES

YES

YES

NO

YES

NO

YES

YES

YES

YES

YES

YES

JWS

alg

RS384

RSA w/ SHA-384 hash

YES

XP SP2

YES

YES

YES

YES

YES

NO

YES

NO

YES

YES

YES

YES

YES

YES

JWS

alg

RS512

RSA w/ SHA-512 hash

YES

XP SP2

YES

YES

YES

YES

YES

NO

YES

NO

YES

YES

YES

YES

YES

YES

JWS

alg

ES256

ECDSA w/ P-256 curve and SHA-256 hash

YES

Vista

10.6

NO

YES?

YES

YES

NO

NO

NO

YES

NO

YES

VARIES

VARIES?

VARIES

JWS

alg

ES384

ECDSA w/ P-384 curve and SHA-384 hash

YES

Vista

10.6

NO

YES?

YES

YES

NO

NO

NO

YES

NO

YES

VARIES

VARIES?

VARIES

JWS

alg

ES512

ECDSA w/ P-521 curve and SHA-512 hash

YES

Vista

10.6

NO

YES?

YES

YES

NO

NO

NO

YES

NO

YES

VARIES

VARIES?

VARIES

JWE

alg

RSA1_5

RSAES-PKCS1-V1_5

YES

XP SP2

YES

YES

YES

YES

YES

YES

YES

NO

YES

YES

YES

YES

YES

JWE

alg

RSA-OAEP

RSAES OAEP

YES

XP SP2

YES?

YES

YES

YES

YES

NO

YES

NO

YES

YES

YES

YES

NO

JWE

alg

ECDH-ES

Elliptic Curve Diffie-Hellman Ephemeral Static

NO*

Vista

NO?

NO

YES*

YES*

YES*

NO

NO

NO

YES?

NO

VARIES?

VARIES?

NO?

JWE

alg

A128KW

AES Key Wrap w/ 128 bit key

NO

Win7

YES

YES

YES

YES

NO

NO

NO

YES

YES

YES?

YES?

NO

JWE

alg

A256KW

AES Key Wrap w/ 256 bit key

NO

Win7

YES

YES

YES

YES

NO

NO

NO

YES

YES

YES?

YES?

NO

JWE

enc

A128CBC

AES CBC w/ 128 bit key

YES*

XP SP2

YES

YES*

YES*

YES*

YES*

YES*

NO

YES*

YES*

YES*

YES*

YES*

JWE

enc

A256CBC

AES CBC w/ 256 bit key

YES*

XP SP2

YES

YES*

YES*

YES*

YES*

YES*

NO

YES*

YES*

YES*

YES*

YES*

JWE

enc

A128GCM

AES GCM w/ 128 bit key

Codeplex

Vista SP1

NO?

NO

NO

YES

YES

NO

NO

NO

NO?

NO

YES

YES

NO

JWE

enc

A256GCM

AES GCM w/ 256 bit key

Codeplex

Vista SP1

NO?

NO

NO

YES

YES

NO

NO

NO

NO?

NO

YES

YES

NO

JWE

kdf

CS256

Concat Key Derivation Function (KDF)

NO

Win7

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

JWE

kdf

CS384

Concat Key Derivation Function (KDF)

NO

Win7

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

JWE

kdf

CS512

Concat Key Derivation Function (KDF)

NO

Win7

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

NO

YES - Support built into library/platform

BouncyCastle is a crypto lib for Java

Release - Support included in this release of software and later

Android uses BouncyCastle

YES* - Supported but other non-supported code required (Concat KDF)

PHPSecLib is a crypto lib for PHP

VARIES - In sources but often distributed w/ support compiled out

M2Crypto is a crypto lib for Python

NO - Not supported in library/platform

PyCrypto is a crypto lib for Python

NO* - Not supported in the specified configuration (w/ Concat KDF)

NSS is the crypto lib used by Firefox

(blank) - Unknown

? - Answer is a first impression but requires more research

PHP version 5.2

PHPSecLib version 0.3.0

PyCrypto version 2.6

Ruby 1.9.3 with ruby-openssl

Java 7

OS X 10.6 (Snow Leopard)

---

From: Anil Saldhana <[email-masked]>
Date: Mon, 30 Jul 2012 11:30:31 -0500

Mike,
   regarding the Java JCA support, there is a open request 
(http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6996769). Ideally 
someone should show this list to the Java JDK/JRE vendors 
(Oracle,IBM,OpenJDK) to get a list of algorithms supported.

Regards,
Anil

On 07/27/2012 10:01 PM, Mike Jones wrote:
>
> New columns added for NSS and Windows native crypto, plus more data 
> for OS X and Ruby.  Thanks to Nov Matake, Christopher Kula, Wan-Teh 
> Chang, Ryan Sleevi, Vijay Bharadwaj, and Brian LaMacchia for the 
> additional data.
>
> -- Mike
>
> *Usage*
>
> 	
>
> *Param Name*
>
> 	
>
> *Param Val*
>
> 	
>
> *Description*
>
> 	
>
> *.NET*
>
> 	
>
> *Windows native*
>
> 	
>
> *OS X*
>
> 	
>
> *iOS*
>
> 	
>
> *Java JCA*
>
> 	
>
> *BouncyCastle*
>
> 	
>
> *Android*
>
> 	
>
> *PHP*
>
> 	
>
> *PHPSecLib*
>
> 	
>
> *Python*
>
> 	
>
> *M2Crypto*
>
> 	
>
> *PyCrypto*
>
> 	
>
> *Ruby*
>
> 	
>
> *OpenSSL*
>
> 	
>
> *node.js*
>
> 	
>
> *NSS*
>
> JWS/JWE
>
> 	
>
> alg/int
>
> 	
>
> HS256
>
> 	
>
> HMAC w/ SHA-256 hash
>
> 	
>
> YES
>
> 	
>
> XP SP2
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> JWS/JWE
>
> 	
>
> alg/int
>
> 	
>
> HS384
>
> 	
>
> HMAC w/ SHA-384 hash
>
> 	
>
> YES
>
> 	
>
> XP SP2
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> JWS/JWE
>
> 	
>
> alg/int
>
> 	
>
> HS512
>
> 	
>
> HMAC w/ SHA-512 hash
>
> 	
>
> YES
>
> 	
>
> XP SP2
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> JWS
>
> 	
>
> alg
>
> 	
>
> RS256
>
> 	
>
> RSA w/ SHA-256 hash
>
> 	
>
> YES
>
> 	
>
> XP SP2
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> NO
>
> 	
>
> YES
>
> 	
>
> NO
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> JWS
>
> 	
>
> alg
>
> 	
>
> RS384
>
> 	
>
> RSA w/ SHA-384 hash
>
> 	
>
> YES
>
> 	
>
> XP SP2
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> NO
>
> 	
>
> YES
>
> 	
>
> NO
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> JWS
>
> 	
>
> alg
>
> 	
>
> RS512
>
> 	
>
> RSA w/ SHA-512 hash
>
> 	
>
> YES
>
> 	
>
> XP SP2
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> NO
>
> 	
>
> YES
>
> 	
>
> NO
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> 	
>
> YES
>
> JWS
>
> 	
>
> alg
>
> 	
>
> ES256
>
> 	
>
> /BouncyCastle is a crypto lib for Java/
>
> 	
> 	
> 	
> 	
> 	
> 	
> 	
>
> /Release/- Support included in this release of software and later
>
> 	
> 	
> 	
> 	
> 	
> 	
> 	
>
> /Android uses BouncyCastle/
>
> 	
> 	
> 	
> 	
> 	
> 	
> 	
>
> /PHPSecLib is a crypto lib for PHP/
>
> 	
> 	
> 	
> 	
>
> /M2Crypto is a crypto lib for Python/
>
> 	
> 	
> 	
>
> /PyCrypto is a crypto lib for Python/
>
> 	
> 	
>
> /NSS is the crypto lib used by Firefox/
>
> 	
>
> (blank) - Unknown
>
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
> 	
>
> _______________________________________________
> jose mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/jose