Skip to content
  • ap@apple.com's avatar
    Support exporting public RSASSA-PKCS1-v1_5 keys · a7a1d44a
    ap@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=124475
    
    Reviewed by Sam Weinig.
    
    Source/WebCore: 
    
    Test: crypto/subtle/rsa-export-key.html
    
    * bindings/js/JSCryptoKeySerializationJWK.h:
    * bindings/js/JSCryptoKeySerializationJWK.cpp:
    (WebCore::JSCryptoKeySerializationJWK::buildJSONForRSAComponents):
    (WebCore::JSCryptoKeySerializationJWK::addJWKAlgorithmToJSON):
    (WebCore::JSCryptoKeySerializationJWK::serialize):
    Added said support (this part works with private keys too).
    
    * crypto/keys/CryptoKeyRSA.h:
    * crypto/mac/CryptoKeyRSAMac.cpp:
    (WebCore::CryptoKeyRSA::getPublicKeyComponents): Moved the logic for getting a
    public key from private one here for reuse in keySizeInBits().
    (WebCore::CryptoKeyRSA::isRestrictedToHash):
    (WebCore::CryptoKeyRSA::keySizeInBits):
    (WebCore::CryptoKeyRSA::exportData):
    Exposed information necessary for JWK serialization.
    
    LayoutTests: 
    
    * crypto/subtle/rsa-export-key-expected.txt: Added.
    * crypto/subtle/rsa-export-key.html: Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159403 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    a7a1d44a