Encode all the intermediates
This commit is contained in:
parent
302ca8669d
commit
69defc5166
1 changed files with 12 additions and 1 deletions
|
@ -59,7 +59,8 @@ v8::Local<v8::Value> Converter<scoped_refptr<net::X509Certificate>>::ToV8(
|
||||||
net::HashValue(
|
net::HashValue(
|
||||||
val->CalculateFingerprint256(val->os_cert_handle())).ToString());
|
val->CalculateFingerprint256(val->os_cert_handle())).ToString());
|
||||||
|
|
||||||
if (!val->GetIntermediateCertificates().empty()) {
|
auto intermediates = val->GetIntermediateCertificates();
|
||||||
|
if (!intermediates.empty()) {
|
||||||
net::X509Certificate::OSCertHandles issuer_intermediates(
|
net::X509Certificate::OSCertHandles issuer_intermediates(
|
||||||
val->GetIntermediateCertificates().begin() + 1,
|
val->GetIntermediateCertificates().begin() + 1,
|
||||||
val->GetIntermediateCertificates().end());
|
val->GetIntermediateCertificates().end());
|
||||||
|
@ -68,6 +69,16 @@ v8::Local<v8::Value> Converter<scoped_refptr<net::X509Certificate>>::ToV8(
|
||||||
val->GetIntermediateCertificates().front(),
|
val->GetIntermediateCertificates().front(),
|
||||||
issuer_intermediates);
|
issuer_intermediates);
|
||||||
dict.Set("issuerCert", issuer_cert);
|
dict.Set("issuerCert", issuer_cert);
|
||||||
|
|
||||||
|
std::vector<std::string> intermediates_encoded;
|
||||||
|
for (size_t i = 0; i < intermediates.size(); i++) {
|
||||||
|
auto native_cert = intermediates[i];
|
||||||
|
std::string encoded;
|
||||||
|
net::X509Certificate::GetPEMEncoded(native_cert, &encoded);
|
||||||
|
intermediates_encoded.push_back(encoded);
|
||||||
|
}
|
||||||
|
|
||||||
|
dict.Set("intermediates", intermediates_encoded);
|
||||||
}
|
}
|
||||||
|
|
||||||
return dict.GetHandle();
|
return dict.GetHandle();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue