Index: /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 65268)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/globals/UIMessageCenter.cpp	(revision 65269)
@@ -2172,5 +2172,5 @@
              "from <nobr><a href=\"%1\">%1</a></nobr> "
              "and saved locally as <nobr><b>%2</b>, </nobr>"
-             "but the SHA-256 checksum verification failed.</p>"
+             "but SHA-256 checksum verification failed.</p>"
              "<p>Please do the download, installation and verification manually.</p>")
              .arg(strUrl, strSrc));
@@ -2266,4 +2266,15 @@
 }
 
+void UIMessageCenter::cannotValidateExtentionPackSHA256Sum(const QString &strExtPackName, const QString &strFrom, const QString &strTo) const
+{
+    alert(windowManager().networkManagerOrMainWindowShown(), MessageType_Error,
+          tr("<p>The <b><nobr>%1</nobr></b> has been successfully downloaded "
+             "from <nobr><a href=\"%2\">%2</a></nobr> "
+             "and saved locally as <nobr><b>%3</b>, </nobr>"
+             "but SHA-256 checksum verification failed.</p>"
+             "<p>Please do the download, installation and verification manually.</p>")
+             .arg(strExtPackName, strFrom, strTo));
+}
+
 bool UIMessageCenter::proposeDeleteExtentionPack(const QString &strTo) const
 {
@@ -2282,15 +2293,4 @@
                           0 /* auto-confirm id */,
                           tr("Delete", "extension pack"));
-}
-
-void UIMessageCenter::cannotValidateExtentionPackSHA256Sum(const QString &strExtPackName, const QString &strFrom, const QString &strTo) const
-{
-    alert(windowManager().networkManagerOrMainWindowShown(), MessageType_Error,
-          tr("<p>The <b><nobr>%1</nobr></b> has been successfully downloaded "
-             "from <nobr><a href=\"%2\">%2</a></nobr> "
-             "and saved locally as <nobr><b>%3</b>, </nobr>"
-             "but the SHA-256 checksum verification failed.</p>"
-             "<p>Please do the download, installation and verification manually.</p>")
-             .arg(strExtPackName, strFrom, strTo));
 }
 #endif /* VBOX_GUI_WITH_NETWORK_MANAGER */
Index: /trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderAdditions.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderAdditions.cpp	(revision 65268)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderAdditions.cpp	(revision 65269)
@@ -23,4 +23,5 @@
 # include <QDir>
 # include <QFile>
+# include <QCryptographicHash>
 
 /* Local includes: */
@@ -33,6 +34,4 @@
 
 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
-
-#include <iprt/sha.h>
 
 
@@ -142,20 +141,12 @@
             const QString strFileName = strRecord.section(" *", 1);
             const QString strDownloadedSumm = strRecord.section(" *", 0, 0);
-            if (strFileName == QFileInfo(source().toString()).fileName())
+            if (strFileName == source().fileName())
             {
-                /* Calculate the SHA-256 on the bytes, creating a string: */
-                uint8_t abHash[RTSHA256_HASH_SIZE];
-                RTSha256(m_receivedData.constData(), m_receivedData.length(), abHash);
-                char szDigest[RTSHA256_DIGEST_LEN + 1];
-                int rc = RTSha256ToString(abHash, szDigest, sizeof(szDigest));
-                if (RT_FAILURE(rc))
-                {
-                    AssertRC(rc);
-                    szDigest[0] = '\0';
-                }
-
-                const QString strCalculatedSumm(szDigest);
-                // printf("Downloaded SHA-256 summ: [%s]\n", strDownloadedSumm.toUtf8().constData());
-                // printf("Calculated SHA-256 summ: [%s]\n", strCalculatedSumm.toUtf8().constData());
+                /* Calculate the SHA-256 hash ourselves: */
+                QCryptographicHash hashSHA256(QCryptographicHash::Sha256);
+                hashSHA256.addData(m_receivedData);
+                const QString strCalculatedSumm(hashSHA256.result().toHex());
+                //printf("Downloaded SHA-256 summ: [%s]\n", strDownloadedSumm.toUtf8().constData());
+                //printf("Calculated SHA-256 summ: [%s]\n", strCalculatedSumm.toUtf8().constData());
                 /* Make sure checksum is valid: */
                 fSuccess = strDownloadedSumm == strCalculatedSumm;
Index: /trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderExtensionPack.cpp
===================================================================
--- /trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderExtensionPack.cpp	(revision 65268)
+++ /trunk/src/VBox/Frontends/VirtualBox/src/net/UIDownloaderExtensionPack.cpp	(revision 65269)
@@ -23,4 +23,5 @@
 # include <QDir>
 # include <QFile>
+# include <QCryptographicHash>
 
 /* Local includes: */
@@ -61,12 +62,11 @@
 
     /* Prepare source/target: */
-    QString strVersion = vboxGlobal().vboxVersionStringNormalized();
     QString strExtPackUnderscoredName(QString(GUI_ExtPackName).replace(' ', '_'));
     QString strTemplateSourcePath("http://download.virtualbox.org/virtualbox/%1/");
     QString strTemplateSourceName(QString("%1-%2.vbox-extpack").arg(strExtPackUnderscoredName));
-    QString strSourcePath(strTemplateSourcePath.arg(strVersion));
-    QString strSourceName(strTemplateSourceName.arg(strVersion));
+    QString strSourcePath(strTemplateSourcePath.arg(vboxGlobal().vboxVersionStringNormalized()));
+    QString strSourceName(strTemplateSourceName.arg(vboxGlobal().vboxVersionStringNormalized()));
     QString strSource(strSourcePath + strSourceName);
-    QString strPathSHA256SumsFile = QString("https://www.virtualbox.org/download/hashes/%1/SHA256SUMS").arg(strVersion);
+    QString strPathSHA256SumsFile = QString("https://www.virtualbox.org/download/hashes/%1/SHA256SUMS").arg(vboxGlobal().vboxVersionStringNormalized());
     QString strTargetPath(vboxGlobal().homeFolder());
     QString strTargetName(strSourceName);
@@ -126,20 +126,12 @@
             const QString strFileName = strRecord.section(" *", 1);
             const QString strDownloadedSumm = strRecord.section(" *", 0, 0);
-            if (strFileName == QFileInfo(source().toString()).fileName())
+            if (strFileName == source().fileName())
             {
-                /* Calculate the SHA-256 on the bytes, creating a string: */
-                uint8_t abHash[RTSHA256_HASH_SIZE];
-                RTSha256(m_receivedData.constData(), m_receivedData.length(), abHash);
-                char szDigest[RTSHA256_DIGEST_LEN + 1];
-                int rc = RTSha256ToString(abHash, szDigest, sizeof(szDigest));
-                if (RT_FAILURE(rc))
-                {
-                    AssertRC(rc);
-                    szDigest[0] = '\0';
-                }
-
-                const QString strCalculatedSumm(szDigest);
-                // printf("Downloaded SHA-256 summ: [%s]\n", strDownloadedSumm.toUtf8().constData());
-                // printf("Calculated SHA-256 summ: [%s]\n", strCalculatedSumm.toUtf8().constData());
+                /* Calculate the SHA-256 hash ourselves: */
+                QCryptographicHash hashSHA256(QCryptographicHash::Sha256);
+                hashSHA256.addData(m_receivedData);
+                const QString strCalculatedSumm(hashSHA256.result().toHex());
+                //printf("Downloaded SHA-256 summ: [%s]\n", strDownloadedSumm.toUtf8().constData());
+                //printf("Calculated SHA-256 summ: [%s]\n", strCalculatedSumm.toUtf8().constData());
                 /* Make sure checksum is valid: */
                 fSuccess = strDownloadedSumm == strCalculatedSumm;
