mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-27 02:53:10 +01:00
certificate fixes
This commit is contained in:
@@ -39,6 +39,7 @@ X509Certificate::X509Certificate(const std::string& path):
|
|||||||
_pCert(0)
|
_pCert(0)
|
||||||
{
|
{
|
||||||
importCertificate(path);
|
importCertificate(path);
|
||||||
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -46,6 +47,7 @@ X509Certificate::X509Certificate(std::istream& istr):
|
|||||||
_pCert(0)
|
_pCert(0)
|
||||||
{
|
{
|
||||||
importCertificate(istr);
|
importCertificate(istr);
|
||||||
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -53,6 +55,7 @@ X509Certificate::X509Certificate(const std::string& certName, const std::string&
|
|||||||
_pCert(0)
|
_pCert(0)
|
||||||
{
|
{
|
||||||
loadCertificate(certName, certStoreName, useMachineStore);
|
loadCertificate(certName, certStoreName, useMachineStore);
|
||||||
|
init();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -125,12 +128,24 @@ void X509Certificate::init()
|
|||||||
_issuerName += "/ST=";
|
_issuerName += "/ST=";
|
||||||
_issuerName += name;
|
_issuerName += name;
|
||||||
}
|
}
|
||||||
|
name = issuerName(NID_LOCALITY_NAME);
|
||||||
|
if (!name.empty())
|
||||||
|
{
|
||||||
|
_issuerName += "/L=";
|
||||||
|
_issuerName += name;
|
||||||
|
}
|
||||||
name = issuerName(NID_ORGANIZATION_NAME);
|
name = issuerName(NID_ORGANIZATION_NAME);
|
||||||
if (!name.empty())
|
if (!name.empty())
|
||||||
{
|
{
|
||||||
_issuerName += "/O=";
|
_issuerName += "/O=";
|
||||||
_issuerName += name;
|
_issuerName += name;
|
||||||
}
|
}
|
||||||
|
name = issuerName(NID_ORGANIZATION_UNIT_NAME);
|
||||||
|
if (!name.empty())
|
||||||
|
{
|
||||||
|
_issuerName += "/OU=";
|
||||||
|
_issuerName += name;
|
||||||
|
}
|
||||||
name = issuerName(NID_COMMON_NAME);
|
name = issuerName(NID_COMMON_NAME);
|
||||||
if (!name.empty())
|
if (!name.empty())
|
||||||
{
|
{
|
||||||
@@ -150,19 +165,30 @@ void X509Certificate::init()
|
|||||||
_subjectName += "/ST=";
|
_subjectName += "/ST=";
|
||||||
_subjectName += name;
|
_subjectName += name;
|
||||||
}
|
}
|
||||||
|
name = subjectName(NID_LOCALITY_NAME);
|
||||||
|
if (!name.empty())
|
||||||
|
{
|
||||||
|
_subjectName += "/L=";
|
||||||
|
_subjectName += name;
|
||||||
|
}
|
||||||
name = subjectName(NID_ORGANIZATION_NAME);
|
name = subjectName(NID_ORGANIZATION_NAME);
|
||||||
if (!name.empty())
|
if (!name.empty())
|
||||||
{
|
{
|
||||||
_subjectName += "/O=";
|
_subjectName += "/O=";
|
||||||
_subjectName += name;
|
_subjectName += name;
|
||||||
}
|
}
|
||||||
|
name = subjectName(NID_ORGANIZATION_UNIT_NAME);
|
||||||
|
if (!name.empty())
|
||||||
|
{
|
||||||
|
_subjectName += "/OU=";
|
||||||
|
_subjectName += name;
|
||||||
|
}
|
||||||
name = subjectName(NID_COMMON_NAME);
|
name = subjectName(NID_COMMON_NAME);
|
||||||
if (!name.empty())
|
if (!name.empty())
|
||||||
{
|
{
|
||||||
_subjectName += "/CN=";
|
_subjectName += "/CN=";
|
||||||
_subjectName += name;
|
_subjectName += name;
|
||||||
}
|
}}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
std::string X509Certificate::commonName() const
|
std::string X509Certificate::commonName() const
|
||||||
|
|||||||
Reference in New Issue
Block a user