Skip to content

Commit d107ee5

Browse files
authored
Fix escaping some cases and add unittest (#619)
IB-7996 Signed-off-by: Raul Metsma <[email protected]>
1 parent 721b83a commit d107ee5

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

src/crypto/X509Crypto.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ int X509Crypto::compareIssuerToString(string_view name) const
151151
value[pos] = char(result);
152152
value.erase(pos + 1, 2);
153153
}
154-
else if(escape.find(value[pos+1]) == string::npos)
154+
else if(escape.find(value[pos+1]) != string::npos)
155155
value.erase(pos, 1);
156156
}
157157

test/data/comma.crt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIBcjCB+QIJAKIsqQxqAGX3MAoGCCqGSM49BAMCMCMxCzAJBgNVBAYTAkVFMRQw
3+
EgYDVQQDDAt0ZXN0LCBjb21tYTAeFw0yNDA4MjcwODM4MDlaFw0yNTA4MjcwODM4
4+
MDlaMCMxCzAJBgNVBAYTAkVFMRQwEgYDVQQDDAt0ZXN0LCBjb21tYTB2MBAGByqG
5+
SM49AgEGBSuBBAAiA2IABKoUm0pDszqGu4HyjABAYB0FhAgEN+G1QNEEEXjz0jRK
6+
rlu7PqV3Bj+4Wz222KBUpViaZZdTuZFLDbEL7legmfNMeOiQK2SQiYRrclFhZVaE
7+
laqSW0BNqI6wIevp/IgSmjAKBggqhkjOPQQDAgNoADBlAjBFyjog1pDn0J5azKuK
8+
AwTqnTVYxWgeNsYpfgzQ1BYs9jEs/x/FoEgRX7sqeL9TCksCMQC6CG34jBdM3stY
9+
1czLqKJjqRgZ9yg4wSgPABHYICjTW0TfuCTPLa7pMlL6mrWeAhg=
10+
-----END CERTIFICATE-----

test/libdigidocpp_boost.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ BOOST_AUTO_TEST_CASE(parameters)
159159

160160
X509Crypto test(X509Cert("test.crt", X509Cert::Pem));
161161
BOOST_CHECK_EQUAL(test.compareIssuerToString("CN=\\\"test\\\""), 0);
162+
X509Crypto comma(X509Cert("comma.crt", X509Cert::Pem));
163+
BOOST_CHECK_EQUAL(comma.compareIssuerToString("CN=test\\, comma"), 0);
162164
}
163165
BOOST_AUTO_TEST_SUITE_END()
164166

0 commit comments

Comments
 (0)