open the cert store readonly

Patch from Chi Hsuan Yen.
This commit is contained in:
Benjamin Peterson 2016-02-17 22:13:19 -08:00
parent b1db758061
commit 9491272751
2 changed files with 8 additions and 2 deletions

View File

@ -16,6 +16,8 @@ Core and Builtins
Library
-------
- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
- Issue #22570: Add 'path' attribute to pathlib.Path objects,
returning the same as str(), to make it more similar to DirEntry.
Library code can now write getattr(p, 'path', p) to get the path as

View File

@ -3597,7 +3597,9 @@ PySSL_enum_certificates(PyObject *self, PyObject *args, PyObject *kwds)
if (result == NULL) {
return NULL;
}
hStore = CertOpenSystemStore((HCRYPTPROV)NULL, store_name);
hStore = CertOpenStore(CERT_STORE_PROV_SYSTEM_A, 0, (HCRYPTPROV)NULL,
CERT_STORE_READONLY_FLAG | CERT_SYSTEM_STORE_LOCAL_MACHINE,
store_name);
if (hStore == NULL) {
Py_DECREF(result);
return PyErr_SetFromWindowsErr(GetLastError());
@ -3685,7 +3687,9 @@ PySSL_enum_crls(PyObject *self, PyObject *args, PyObject *kwds)
if (result == NULL) {
return NULL;
}
hStore = CertOpenSystemStore((HCRYPTPROV)NULL, store_name);
hStore = CertOpenStore(CERT_STORE_PROV_SYSTEM_A, 0, (HCRYPTPROV)NULL,
CERT_STORE_READONLY_FLAG | CERT_SYSTEM_STORE_LOCAL_MACHINE,
store_name);
if (hStore == NULL) {
Py_DECREF(result);
return PyErr_SetFromWindowsErr(GetLastError());