Revert accidentally checked in change.
authorweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 30 May 2017 23:55:51 +0000 (23:55 +0000)
committerweinig@apple.com <weinig@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 30 May 2017 23:55:51 +0000 (23:55 +0000)
* crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:
* crypto/mac/CryptoDigestAlgorithm.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@217586 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp
Source/WebCore/crypto/mac/CryptoDigestAlgorithm.h

index 63a873c..d2fbff7 100644 (file)
@@ -1,5 +1,12 @@
 2017-05-30  Sam Weinig  <sam@webkit.org>
 
+        Revert accidentally checked in change.
+
+        * crypto/mac/CryptoAlgorithmRSA_PSSMac.cpp:
+        * crypto/mac/CryptoDigestAlgorithm.h:
+
+2017-05-30  Sam Weinig  <sam@webkit.org>
+
         [WebIDL] Generate named property deleters
         https://bugs.webkit.org/show_bug.cgi?id=172688
 
index b318ec1..34cc2d7 100644 (file)
 
 namespace WebCore {
 
-static ExceptionOr<Vector<uint8_t>> signRSA_PSS(CryptoAlgorithmIdentifier, const PlatformRSAKey, size_t, const Vector<uint8_t>&, size_t)
+static ExceptionOr<Vector<uint8_t>> signRSA_PSS(CryptoAlgorithmIdentifier hash, const PlatformRSAKey key, size_t keyLength, const Vector<uint8_t>& data, size_t saltLength)
 {
-    // CCDigestAlgorithm digestAlgorithm;
-    // if (!getCommonCryptoDigestAlgorithm(hash, digestAlgorithm))
-    //     return Exception { OperationError };
-    // 
-    // auto cryptoDigestAlgorithm = WebCore::cryptoDigestAlgorithm(hash);
-    // if (!cryptoDigestAlgorithm)
-    //     return Exception { OperationError };
-    // auto digest = PAL::CryptoDigest::create(*cryptoDigestAlgorithm);
-    // if (!digest)
-    //     return Exception { OperationError };
-    // digest->addBytes(data.data(), data.size());
-    // auto digestData = digest->computeHash();
-    // 
-    // Vector<uint8_t> signature(keyLength / 8); // Per https://tools.ietf.org/html/rfc3447#section-8.1.1
-    // size_t signatureSize = signature.size();
-    // 
-    // CCCryptorStatus status = CCRSACryptorSign(key, ccRSAPSSPadding, digestData.data(), digestData.size(), digestAlgorithm, saltLength, signature.data(), &signatureSize);
-    // if (status)
+    CCDigestAlgorithm digestAlgorithm;
+    if (!getCommonCryptoDigestAlgorithm(hash, digestAlgorithm))
         return Exception { OperationError };
 
-    // return WTFMove(signature);
+    auto cryptoDigestAlgorithm = WebCore::cryptoDigestAlgorithm(hash);
+    if (!cryptoDigestAlgorithm)
+        return Exception { OperationError };
+    auto digest = PAL::CryptoDigest::create(*cryptoDigestAlgorithm);
+    if (!digest)
+        return Exception { OperationError };
+    digest->addBytes(data.data(), data.size());
+    auto digestData = digest->computeHash();
+
+    Vector<uint8_t> signature(keyLength / 8); // Per https://tools.ietf.org/html/rfc3447#section-8.1.1
+    size_t signatureSize = signature.size();
+
+    CCCryptorStatus status = CCRSACryptorSign(key, ccRSAPSSPadding, digestData.data(), digestData.size(), digestAlgorithm, saltLength, signature.data(), &signatureSize);
+    if (status)
+        return Exception { OperationError };
+
+    return WTFMove(signature);
 }
 
-static ExceptionOr<bool> verifyRSA_PSS(CryptoAlgorithmIdentifier, const PlatformRSAKey, const Vector<uint8_t>&, const Vector<uint8_t>&, size_t)
+static ExceptionOr<bool> verifyRSA_PSS(CryptoAlgorithmIdentifier hash, const PlatformRSAKey key, const Vector<uint8_t>& signature, const Vector<uint8_t>& data, size_t saltLength)
 {
-    // CCDigestAlgorithm digestAlgorithm;
-    // if (!getCommonCryptoDigestAlgorithm(hash, digestAlgorithm))
-    //     return Exception { OperationError };
-    // 
-    // auto cryptoDigestAlgorithm = WebCore::cryptoDigestAlgorithm(hash);
-    // if (!cryptoDigestAlgorithm)
-    //     return Exception { OperationError };
-    // auto digest = PAL::CryptoDigest::create(*cryptoDigestAlgorithm);
-    // if (!digest)
-    //     return Exception { OperationError };
-    // digest->addBytes(data.data(), data.size());
-    // auto digestData = digest->computeHash();
-    // 
-    // auto status = CCRSACryptorVerify(key, ccRSAPSSPadding, digestData.data(), digestData.size(), digestAlgorithm, saltLength, signature.data(), signature.size());
-    // if (!status)
-    //     return true;
+    CCDigestAlgorithm digestAlgorithm;
+    if (!getCommonCryptoDigestAlgorithm(hash, digestAlgorithm))
+        return Exception { OperationError };
+
+    auto cryptoDigestAlgorithm = WebCore::cryptoDigestAlgorithm(hash);
+    if (!cryptoDigestAlgorithm)
+        return Exception { OperationError };
+    auto digest = PAL::CryptoDigest::create(*cryptoDigestAlgorithm);
+    if (!digest)
+        return Exception { OperationError };
+    digest->addBytes(data.data(), data.size());
+    auto digestData = digest->computeHash();
+
+    auto status = CCRSACryptorVerify(key, ccRSAPSSPadding, digestData.data(), digestData.size(), digestAlgorithm, saltLength, signature.data(), signature.size());
+    if (!status)
+        return true;
     return false;
 }
 
index b63e36c..4e180e7 100644 (file)
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-inline std::optional<PAL::CryptoDigest::Algorithm> cryptoDigestAlgorithm(CryptoAlgorithmIdentifier hashFunction)
+static std::optional<PAL::CryptoDigest::Algorithm> cryptoDigestAlgorithm(CryptoAlgorithmIdentifier hashFunction)
 {
     switch (hashFunction) {
     case CryptoAlgorithmIdentifier::SHA_1: