The difficulty here is that CommonCrypto functions don't expose all key parts necessary for JWK, so we'll need to compute them from prime factors manually.
Created attachment 218322 [details] proposed patch
Comment on attachment 218322 [details] proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=218322&action=review > Source/WebCore/crypto/CommonCryptoUtilities.cpp:82 > + RELEASE_ASSERT(!status); I’d rather assert status == kCCSuccess here (and all the other places).
Attachment 218322 [details] did not pass style-queue: Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'LayoutTests/ChangeLog', u'LayoutTests/crypto/subtle/rsa-export-private-key-expected.txt', u'LayoutTests/crypto/subtle/rsa-export-private-key.html', u'Source/WebCore/ChangeLog', u'Source/WebCore/crypto/CommonCryptoUtilities.cpp', u'Source/WebCore/crypto/CommonCryptoUtilities.h', u'Source/WebCore/crypto/mac/CryptoKeyRSAMac.cpp']" exit_code: 1 ERROR: Source/WebCore/crypto/CommonCryptoUtilities.cpp:32: Missing spaces around / [whitespace/operators] [3] ERROR: Source/WebCore/crypto/CommonCryptoUtilities.h:100: Missing spaces around && [whitespace/operators] [3] ERROR: Source/WebCore/crypto/CommonCryptoUtilities.h:102: Missing spaces around && [whitespace/operators] [3] Total errors found: 3 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Committed <http://trac.webkit.org/r160029>.
> I’d rather assert status == kCCSuccess here (and all the other places). These pretty much only fail on out of memory conditions, which is normally a release assert for us.
Or did you mean a RELEASE_ASSERT in a different form? I personally prefer "status == kCCSuccess" too, but I don't think we ever do that for other types.
(In reply to comment #6) > Or did you mean a RELEASE_ASSERT in a different form? I personally prefer "status == kCCSuccess" too, but I don't think we ever do that for other types. I mean i like the condition to be (status == kCCSuccess) as opposed to (!status) since it’s not clear (to me anyway) that kCCSuccess is 0.