Bug 86860 - cert issuer details. r=javi,sr=blizzard
git-svn-id: svn://10.0.0.236/trunk@100246 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
a2bf9c47d5
commit
c1d75edf96
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user