зеркало из https://github.com/mozilla/gecko-dev.git
Bug 86860 - cert issuer details. r=javi,sr=blizzard
This commit is contained in:
Родитель
18974de8f4
Коммит
d1f3037072
|
@ -225,18 +225,10 @@ function DisplayGeneralDataFromCert(cert)
|
|||
addAttributeFromCert('validityend', cert.expiresDate);
|
||||
|
||||
//Now to populate the fields that correspond to the issuer.
|
||||
var issuer = cert.issuer;
|
||||
var issuerCommonname, issuerOrg, issuerOrgUnit;
|
||||
if (issuer) {
|
||||
issuerCommonname = issuer.commonName;
|
||||
issuerOrg = issuer.organization;
|
||||
issuerOrgUnit = issuer.organizationalUnit;
|
||||
} else {
|
||||
var unknownIssuer = bundle.GetStringFromName('unknownIssuer');
|
||||
issuerCommonname = unknownIssuer;
|
||||
issuerOrg = unknownIssuer;
|
||||
issuerOrgUnit = unknownIssuer;
|
||||
}
|
||||
issuerCommonname = cert.issuerCommonName;
|
||||
issuerOrg = cert.issuerOrganization;
|
||||
issuerOrgUnit = cert.issuerOrganizationalUnit;
|
||||
addAttributeFromCert('issuercommonname', issuerCommonname);
|
||||
addAttributeFromCert('issuerorganization', issuerOrg);
|
||||
addAttributeFromCert('issuerorgunit', issuerOrgUnit);
|
||||
|
|
|
@ -124,7 +124,9 @@ interface nsIX509Cert : nsISupports {
|
|||
readonly attribute wstring issuedDate;
|
||||
readonly attribute wstring expiresDate;
|
||||
readonly attribute wstring tokenName;
|
||||
readonly attribute wstring issuerCommonName;
|
||||
readonly attribute wstring issuerOrganization;
|
||||
readonly attribute wstring issuerOrganizationUnit;
|
||||
readonly attribute nsIX509Cert issuer;
|
||||
|
||||
readonly attribute nsIX509CertValidity validity;
|
||||
|
|
|
@ -207,7 +207,7 @@ void PR_CALLBACK HandshakeCallback(PRFileDesc* fd, void* client_data) {
|
|||
nsIWebProgressListener::STATE_SECURE_LOW);
|
||||
|
||||
CERTCertificate *peerCert = SSL_PeerCertificate(fd);
|
||||
char* caName = CERT_GetOrgName(&peerCert->subject);
|
||||
char* caName = CERT_GetOrgName(&peerCert->issuer);
|
||||
CERT_DestroyCertificate(peerCert);
|
||||
if (!caName) {
|
||||
caName = signer;
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
* may use your version of this file under either the MPL or the
|
||||
* GPL.
|
||||
*
|
||||
* $Id: nsNSSCertificate.cpp,v 1.40 2001/08/01 23:05:08 javi%netscape.com Exp $
|
||||
* $Id: nsNSSCertificate.cpp,v 1.41 2001/08/02 23:52:14 ddrinan%netscape.com Exp $
|
||||
*/
|
||||
|
||||
#include "prmem.h"
|
||||
|
@ -683,37 +683,48 @@ nsNSSCertificate::GetOrganization(PRUnichar **aOrganization)
|
|||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsNSSCertificate::GetIssuerCommonName(PRUnichar **aCommonName)
|
||||
{
|
||||
NS_ENSURE_ARG(aCommonName);
|
||||
*aCommonName = nsnull;
|
||||
if (mCert) {
|
||||
char *commonName = CERT_GetCommonName(&mCert->issuer);
|
||||
if (commonName) {
|
||||
nsAutoString cn = NS_ConvertASCIItoUCS2(commonName);
|
||||
*aCommonName = cn.ToNewUnicode();
|
||||
}
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsNSSCertificate::GetIssuerOrganization(PRUnichar **aOrganization)
|
||||
{
|
||||
NS_ENSURE_ARG(aOrganization);
|
||||
if (mIssuerOrg.Length() == 0) {
|
||||
PRBool failed = PR_TRUE;
|
||||
CERTCertificate *issuer;
|
||||
issuer = CERT_FindCertIssuer(mCert, PR_Now(), certUsageSSLClient);
|
||||
if (issuer) {
|
||||
char *org = CERT_GetOrgName(&issuer->subject);
|
||||
if (org) {
|
||||
mIssuerOrg = NS_ConvertASCIItoUCS2(org);
|
||||
failed = PR_FALSE;
|
||||
}
|
||||
}
|
||||
if (failed) {
|
||||
nsresult rv;
|
||||
nsCOMPtr<nsINSSComponent> nssComponent(
|
||||
do_GetService(kNSSComponentCID, &rv));
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
if (!issuer) {
|
||||
rv = nssComponent->GetPIPNSSBundleString(
|
||||
NS_LITERAL_STRING("UnknownCertIssuer").get(), mIssuerOrg);
|
||||
} else { /* !org */
|
||||
rv = nssComponent->GetPIPNSSBundleString(
|
||||
NS_LITERAL_STRING("UnknownCertOrg").get(), mIssuerOrg);
|
||||
}
|
||||
if (NS_FAILED(rv)) return rv;
|
||||
*aOrganization = nsnull;
|
||||
if (mCert) {
|
||||
char *organization = CERT_GetOrgName(&mCert->issuer);
|
||||
if (organization) {
|
||||
nsAutoString org = NS_ConvertASCIItoUCS2(organization);
|
||||
*aOrganization = org.ToNewUnicode();
|
||||
}
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
nsNSSCertificate::GetIssuerOrganizationUnit(PRUnichar **aOrganizationUnit)
|
||||
{
|
||||
NS_ENSURE_ARG(aOrganizationUnit);
|
||||
*aOrganizationUnit = nsnull;
|
||||
if (mCert) {
|
||||
char *organizationUnit = CERT_GetOrgUnitName(&mCert->issuer);
|
||||
if (organizationUnit) {
|
||||
nsAutoString orgUnit = NS_ConvertASCIItoUCS2(organizationUnit);
|
||||
*aOrganizationUnit = orgUnit.ToNewUnicode();
|
||||
}
|
||||
}
|
||||
*aOrganization = mIssuerOrg.ToNewUnicode();
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
|
@ -64,7 +64,6 @@ public:
|
|||
|
||||
private:
|
||||
CERTCertificate *mCert;
|
||||
nsString mIssuerOrg;
|
||||
PRBool mPermDelete;
|
||||
PRUint32 mCertType;
|
||||
nsCOMPtr<nsIASN1Object> mASN1Structure;
|
||||
|
|
Загрузка…
Ссылка в новой задаче