mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-26 18:37:31 +09:00
Replace NSS with Pale Moon's
This commit is contained in:
parent
ff1e5e48bf
commit
8c2e376f94
2870 changed files with 1762232 additions and 1374220 deletions
|
|
@ -1,4 +1,5 @@
|
|||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
|
@ -21,9 +22,9 @@ class Pkcs11ModuleTest : public ::testing::Test {
|
|||
Pkcs11ModuleTest() {}
|
||||
|
||||
void SetUp() override {
|
||||
ASSERT_EQ(SECSuccess, SECMOD_AddNewModule("Pkcs11ModuleTest", DLL_PREFIX
|
||||
"pkcs11testmodule." DLL_SUFFIX,
|
||||
0, 0))
|
||||
ASSERT_EQ(SECSuccess, SECMOD_AddNewModule(
|
||||
"Pkcs11ModuleTest",
|
||||
DLL_PREFIX "pkcs11testmodule." DLL_SUFFIX, 0, 0))
|
||||
<< PORT_ErrorToName(PORT_GetError());
|
||||
}
|
||||
|
||||
|
|
@ -42,10 +43,10 @@ TEST_F(Pkcs11ModuleTest, LoadUnload) {
|
|||
TEST_F(Pkcs11ModuleTest, ListSlots) {
|
||||
ScopedPK11SlotList slots(
|
||||
PK11_GetAllTokens(CKM_INVALID_MECHANISM, PR_FALSE, PR_FALSE, nullptr));
|
||||
EXPECT_NE(nullptr, slots);
|
||||
ASSERT_NE(nullptr, slots);
|
||||
|
||||
PK11SlotListElement* element = PK11_GetFirstSafe(slots.get());
|
||||
EXPECT_NE(nullptr, element);
|
||||
PK11SlotListElement *element = PK11_GetFirstSafe(slots.get());
|
||||
ASSERT_NE(nullptr, element);
|
||||
|
||||
// These tokens are always present.
|
||||
const std::vector<std::string> kSlotsWithToken = {
|
||||
|
|
@ -71,13 +72,87 @@ TEST_F(Pkcs11ModuleTest, PublicCertificatesToken) {
|
|||
const std::string kPublicCertificatesToken = "Test PKCS11 Public Certs Token";
|
||||
|
||||
ScopedPK11SlotInfo slot1(PK11_FindSlotByName(kRegularToken.c_str()));
|
||||
EXPECT_NE(nullptr, slot1);
|
||||
ASSERT_NE(nullptr, slot1);
|
||||
EXPECT_FALSE(PK11_IsFriendly(slot1.get()));
|
||||
|
||||
ScopedPK11SlotInfo slot2(
|
||||
PK11_FindSlotByName(kPublicCertificatesToken.c_str()));
|
||||
EXPECT_NE(nullptr, slot2);
|
||||
ASSERT_NE(nullptr, slot2);
|
||||
EXPECT_TRUE(PK11_IsFriendly(slot2.get()));
|
||||
}
|
||||
|
||||
TEST_F(Pkcs11ModuleTest, PublicCertificatesTokenLookup) {
|
||||
const std::string kCertUrl =
|
||||
"pkcs11:id=%10%11%12%13%14%15%16%17%18%19%1a%1b%1c%1d%1e%1f";
|
||||
|
||||
ScopedCERTCertList certsByUrl(
|
||||
PK11_FindCertsFromURI(kCertUrl.c_str(), nullptr));
|
||||
EXPECT_NE(nullptr, certsByUrl.get());
|
||||
|
||||
size_t count = 0;
|
||||
CERTCertificate *certByUrl = nullptr;
|
||||
for (CERTCertListNode *node = CERT_LIST_HEAD(certsByUrl);
|
||||
!CERT_LIST_END(node, certsByUrl); node = CERT_LIST_NEXT(node)) {
|
||||
if (count == 0) {
|
||||
certByUrl = node->cert;
|
||||
}
|
||||
count++;
|
||||
}
|
||||
EXPECT_EQ(1UL, count);
|
||||
EXPECT_NE(nullptr, certByUrl);
|
||||
|
||||
EXPECT_EQ(
|
||||
0, strcmp(certByUrl->nickname, "Test PKCS11 Public Certs Token:cert2"));
|
||||
}
|
||||
|
||||
TEST_F(Pkcs11ModuleTest, PublicCertificatesTokenLookupNoMatch) {
|
||||
const std::string kCertUrl =
|
||||
"pkcs11:id=%00%01%02%03%04%05%06%07%08%09%0a%0b%0c%0d%0e%0e";
|
||||
|
||||
ScopedCERTCertList certsByUrl(
|
||||
PK11_FindCertsFromURI(kCertUrl.c_str(), nullptr));
|
||||
EXPECT_EQ(nullptr, certsByUrl.get());
|
||||
}
|
||||
|
||||
#if defined(_WIN32)
|
||||
#include <windows.h>
|
||||
|
||||
class Pkcs11NonAsciiTest : public ::testing::Test {
|
||||
WCHAR nonAsciiModuleName[MAX_PATH];
|
||||
|
||||
public:
|
||||
Pkcs11NonAsciiTest() {}
|
||||
|
||||
void SetUp() override {
|
||||
WCHAR originalModuleName[MAX_PATH];
|
||||
LPWSTR filePart;
|
||||
DWORD count = SearchPathW(NULL, L"pkcs11testmodule.dll", NULL, MAX_PATH,
|
||||
nonAsciiModuleName, &filePart);
|
||||
ASSERT_TRUE(count);
|
||||
wcscpy(originalModuleName, nonAsciiModuleName);
|
||||
wcscpy(filePart, L"pkcs11testmodule\u2665.dll");
|
||||
BOOL result = CopyFileW(originalModuleName, nonAsciiModuleName, TRUE);
|
||||
ASSERT_TRUE(result);
|
||||
ASSERT_EQ(SECSuccess,
|
||||
SECMOD_AddNewModule(
|
||||
"Pkcs11NonAsciiTest",
|
||||
DLL_PREFIX "pkcs11testmodule\xE2\x99\xA5." DLL_SUFFIX, 0, 0))
|
||||
<< PORT_ErrorToName(PORT_GetError());
|
||||
}
|
||||
|
||||
void TearDown() override {
|
||||
int type;
|
||||
ASSERT_EQ(SECSuccess, SECMOD_DeleteModule("Pkcs11NonAsciiTest", &type));
|
||||
ASSERT_EQ(SECMOD_EXTERNAL, type);
|
||||
BOOL result = DeleteFileW(nonAsciiModuleName);
|
||||
ASSERT_TRUE(result);
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(Pkcs11NonAsciiTest, LoadUnload) {
|
||||
ScopedSECMODModule module(SECMOD_FindModule("Pkcs11NonAsciiTest"));
|
||||
EXPECT_NE(nullptr, module);
|
||||
}
|
||||
#endif // defined(_WIN32)
|
||||
|
||||
} // namespace nss_test
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue