b=165574 PSM embedding freeze/ step 3/ replace nsISupportsArray with nsIArray

r=javi sr=alecf a=asa
This commit is contained in:
kaie%netscape.com 2002-10-14 14:49:00 +00:00
parent 370c1737b9
commit c114606c21
19 changed files with 110 additions and 112 deletions

View File

@ -40,6 +40,7 @@
#include "nsIMsgCompFields.h"
#include "nsCRT.h"
#include "nsReadableUtils.h"
#include "nsArray.h"
// String bundle for smime. Class static.
nsCOMPtr<nsIStringBundle> nsMsgComposeSecure::mSMIMEBundle = nsnull;
@ -612,7 +613,7 @@ nsresult nsMsgComposeSecure::MimeInitEncryption(PRBool aSign, nsIMsgSendReport *
if (!mIsDraft) {
PRUint32 numCerts;
mCerts->Count(&numCerts);
mCerts->GetLength(&numCerts);
PR_ASSERT(numCerts > 0);
if (numCerts == 0) return NS_ERROR_FAILURE;
}
@ -864,7 +865,7 @@ nsresult nsMsgComposeSecure::MimeCryptoHackCerts(const char *aRecipients,
nsCOMPtr<nsIMsgHeaderParser> pHeader = do_GetService(NS_MAILNEWS_MIME_HEADER_PARSER_CONTRACTID, &res);
NS_ENSURE_SUCCESS(res,res);
res = NS_NewISupportsArray(getter_AddRefs(mCerts));
res = NS_NewArray(getter_AddRefs(mCerts));
if (NS_FAILED(res)) {
return res;
}
@ -964,14 +965,14 @@ nsresult nsMsgComposeSecure::MimeCryptoHackCerts(const char *aRecipients,
already_added_self_cert = PR_TRUE;
}
mCerts->AppendElement(cert);
mCerts->AppendElement(cert, PR_FALSE);
// To understand this loop, especially the "+= strlen +1", look at the documentation
// of ParseHeaderAddresses. Basically, it returns a list of zero terminated strings.
mailbox += strlen(mailbox) + 1;
}
if (!already_added_self_cert) {
mCerts->AppendElement(mSelfEncryptionCert);
mCerts->AppendElement(mSelfEncryptionCert, PR_FALSE);
}
}
FAIL:

View File

@ -31,6 +31,7 @@
#include "nsIStringBundle.h"
#include "nsIHash.h"
#include "nsICMSMessage.h"
#include "nsIArray.h"
class nsIMsgCompFields;
@ -91,7 +92,7 @@ private:
nsCOMPtr<nsIX509Cert> mSelfSigningCert;
nsXPIDLString mEncryptionCertName;
nsCOMPtr<nsIX509Cert> mSelfEncryptionCert;
nsCOMPtr<nsISupportsArray> mCerts;
nsCOMPtr<nsIMutableArray> mCerts;
nsCOMPtr<nsICMSMessage> mEncryptionCinfo;
nsCOMPtr<nsICMSEncoder> mEncryptionContext;
static nsCOMPtr<nsIStringBundle> mSMIMEBundle;

View File

@ -53,8 +53,8 @@ function onLoad()
var autoupdateEnabledString;
var autoupdateErrCntString;
for (i=0; i<crls.Count(); i++) {
crlEntry = crls.QueryElementAt(i, nsICRLInfo);
for (i=0; i<crls.length; i++) {
crlEntry = crls.queryElementAt(i, nsICRLInfo);
var org = crlEntry.org;
var orgUnit = crlEntry.orgUnit;
var lastUpdate = crlEntry.lastUpdateLocale;
@ -108,7 +108,7 @@ function DeleteCrlSelected() {
if(i<0){
return;
}
crlEntry = crls.QueryElementAt(i, nsICRLInfo);
crlEntry = crls.queryElementAt(i, nsICRLInfo);
var autoupdateEnabled = false;
var autoupdateParamAvailable = false;
@ -203,7 +203,7 @@ function EditAutoUpdatePrefs() {
if(i<0){
return;
}
crlEntry = crls.QueryElementAt(i, nsICRLInfo);
crlEntry = crls.queryElementAt(i, nsICRLInfo);
var params = Components.classes[nsPKIParamBlock].createInstance(nsIPKIParamBlock);
params.setISupportAtIndex(1, crlEntry);
window.openDialog("chrome://pippki/content/pref-crlupdate.xul","",
@ -218,6 +218,6 @@ function UpdateCRL()
if(i<0){
return;
}
crlEntry = crls.QueryElementAt(i, nsICRLInfo);
crlEntry = crls.queryElementAt(i, nsICRLInfo);
crlManager.updateCRLFromURL(crlEntry.lastFetchURL, crlEntry.nameInDb);
}

View File

@ -38,8 +38,8 @@ function onLoad()
var signersMenu = document.getElementById("signingCA");
var signersURL = document.getElementById("serviceURL");
for (i=0; i<ocspResponders.Count(); i++) {
ocspEntry = ocspResponders.GetElementAt(i).QueryInterface(nsIOCSPResponder);
for (i=0; i<ocspResponders.length; i++) {
ocspEntry = ocspResponders.queryElementAt(i, nsIOCSPResponder);
var menuItemNode = document.createElement("menuitem");
menuItemNode.setAttribute("value", ocspEntry.responseSigner);
menuItemNode.setAttribute("label", ocspEntry.responseSigner);
@ -78,8 +78,8 @@ function changeURL()
var i;
var ocspEntry;
for (i=0; i < ocspResponders.Count(); i++) {
ocspEntry = ocspResponders.GetElementAt(i).QueryInterface(nsIOCSPResponder);
for (i=0; i < ocspResponders.length; i++) {
ocspEntry = ocspResponders.queryElementAt(i, nsIOCSPResponder);
if (CA == ocspEntry.responseSigner) {
signersURL.setAttribute("value", ocspEntry.serviceURL);
break;

View File

@ -40,13 +40,12 @@ function AddCertChain(node, chain, idPrefix)
{
var idfier = idPrefix+"chain_";
var child = document.getElementById(node);
var numCerts = chain.Count();
var numCerts = chain.length;
var currCert;
var displayVal;
var addTwistie;
for (var i=numCerts-1; i>=0; i--) {
currCert = chain.GetElementAt(i);
currCert = currCert.QueryInterface(nsIX509Cert);
currCert = chain.queryElementAt(i, nsIX509Cert);
if (currCert.commonName) {
displayVal = currCert.commonName;
} else {

View File

@ -35,6 +35,7 @@
#include "nsIComponentManager.h"
#include "nsString.h"
#include "nsCRT.h"
#include "nsArray.h"
NS_IMPL_THREADSAFE_ISUPPORTS2(nsNSSASN1Tree, nsIASN1Tree,
nsITreeView);
@ -95,10 +96,10 @@ void nsNSSASN1Tree::InitChildsRecursively(myNode *n)
return;
}
nsCOMPtr<nsISupportsArray> asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
n->seq->GetASN1Objects(getter_AddRefs(asn1Objects));
PRUint32 numObjects;
asn1Objects->Count(&numObjects);
asn1Objects->GetLength(&numObjects);
if (!numObjects) {
n->seq = nsnull;
@ -123,8 +124,7 @@ void nsNSSASN1Tree::InitChildsRecursively(myNode *n)
prev->next = walk;
}
isupports = dont_AddRef(asn1Objects->ElementAt(i));
walk->obj = do_QueryInterface(isupports);
walk->obj = do_QueryElementAt(asn1Objects, i);
InitChildsRecursively(walk);

View File

@ -50,12 +50,12 @@
// object.
//
interface nsISupportsArray;
interface nsIMutableArray;
#include "nsIASN1Object.idl"
[scriptable, uuid(b6b957e6-1dd1-11b2-89d7-e30624f50b00)]
interface nsIASN1Sequence : nsIASN1Object {
attribute nsISupportsArray ASN1Objects;
attribute nsIMutableArray ASN1Objects;
attribute boolean processObjects;
attribute boolean showObjects;
};

View File

@ -44,7 +44,7 @@
[ptr] native UnsignedCharPtr(unsigned char);
interface nsIX509Cert;
interface nsISupportsArray;
interface nsIArray;
/**
* nsICMSMessage
@ -61,7 +61,7 @@ interface nsICMSMessage : nsISupports
void getEncryptionCert(out nsIX509Cert ecert);
void verifySignature();
void verifyDetachedSignature(in UnsignedCharPtr aDigestData, in unsigned long aDigestDataLen);
void CreateEncrypted(in nsISupportsArray aRecipientCerts);
void CreateEncrypted(in nsIArray aRecipientCerts);
void CreateSigned(in nsIX509Cert scert, in nsIX509Cert ecert, in UnsignedCharPtr aDigestData, in unsigned long aDigestDataLen);
};

View File

@ -35,7 +35,7 @@
#include "nsISupports.idl"
interface nsIURI;
interface nsISupportsArray;
interface nsIArray;
interface nsICRLInfo;
%{C++
@ -79,7 +79,7 @@ interface nsICRLManager : nsISupports {
*
* Get a list of Crl entries in the DB.
*/
nsISupportsArray getCrls();
nsIArray getCrls();
/*
* deleteCrl

View File

@ -34,8 +34,8 @@
*/
#include "nsISupports.idl"
#include "nsISupportsArray.idl"
interface nsIArray;
interface nsIX509CertValidity;
interface nsIASN1Object;
@ -93,7 +93,7 @@ interface nsIX509Cert : nsISupports {
/*
* accessors for certs
*/
nsISupportsArray getChain();
nsIArray getChain();
void getUsages(out unsigned long verified,
out unsigned long count,

View File

@ -35,7 +35,7 @@
#include "nsISupports.idl"
interface nsISupportsArray;
interface nsIArray;
interface nsIX509Cert;
interface nsILocalFile;
interface nsIInterfaceRequestor;
@ -189,13 +189,12 @@ interface nsIX509CertDB : nsISupports {
in nsILocalFile aFile,
in unsigned long count,
[array, size_is(count)] in nsIX509Cert aCerts);
//[array, size_is(count)] in AString aCertNames);
/*
* getOCSPResponders
*
* Export a set of OCSP responders i.e. CA names and (optional) URLs.
*/
nsISupportsArray getOCSPResponders();
nsIArray getOCSPResponders();
/*
* Query about the status of OCSP

View File

@ -42,6 +42,7 @@
#include "smime.h"
#include "cms.h"
#include "nsICMSMessageErrors.h"
#include "nsArray.h"
#include "prlog.h"
#ifdef PR_LOGGING
@ -332,7 +333,7 @@ loser:
return rv;
}
NS_IMETHODIMP nsCMSMessage::CreateEncrypted(nsISupportsArray * aRecipientCerts)
NS_IMETHODIMP nsCMSMessage::CreateEncrypted(nsIArray * aRecipientCerts)
{
PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("nsCMSMessage::CreateEncrypted\n"));
NSSCMSContentInfo *cinfo;
@ -348,7 +349,7 @@ NS_IMETHODIMP nsCMSMessage::CreateEncrypted(nsISupportsArray * aRecipientCerts)
// Check the recipient certificates //
PRUint32 recipientCertCount;
aRecipientCerts->Count(&recipientCertCount);
aRecipientCerts->GetLength(&recipientCertCount);
PR_ASSERT(recipientCertCount > 0);
if ((tmpPoolp = PORT_NewArena(1024)) == nsnull) {

View File

@ -45,7 +45,7 @@
#include "nsCOMPtr.h"
#include "nsIPrompt.h"
#include "nsICertificateDialogs.h"
#include "nsISupportsArray.h"
#include "nsArray.h"
#include "nsNSSCertHeader.h"
@ -336,14 +336,14 @@ nsCRLManager::RescheduleCRLAutoUpdate(void)
*/
NS_IMETHODIMP
nsCRLManager::GetCrls(nsISupportsArray ** aCrls)
nsCRLManager::GetCrls(nsIArray ** aCrls)
{
SECStatus sec_rv;
CERTCrlHeadNode *head = nsnull;
CERTCrlNode *node = nsnull;
nsCOMPtr<nsISupportsArray> crlsArray;
nsCOMPtr<nsIMutableArray> crlsArray;
nsresult rv;
rv = NS_NewISupportsArray(getter_AddRefs(crlsArray));
rv = NS_NewArray(getter_AddRefs(crlsArray));
if (NS_FAILED(rv)) {
return rv;
}
@ -358,7 +358,7 @@ nsCRLManager::GetCrls(nsISupportsArray ** aCrls)
for (node=head->first; node != nsnull; node = node->next) {
nsCOMPtr<nsICRLInfo> entry = new nsCRLInfo((node->crl));
crlsArray->AppendElement(entry);
crlsArray->AppendElement(entry, PR_FALSE);
}
PORT_FreeArena(head->arena, PR_FALSE);
}

View File

@ -35,6 +35,8 @@
#include "nsIComponentManager.h"
#include "secasn1.h"
#include "nsReadableUtils.h"
#include "nsArray.h"
#include "nsXPCOMCID.h"
NS_IMPL_THREADSAFE_ISUPPORTS2(nsNSSASN1Sequence, nsIASN1Sequence,
nsIASN1Object);
@ -123,7 +125,7 @@ buildASN1ObjectFromDER(unsigned char *data,
nsCOMPtr<nsIASN1Sequence> sequence;
nsCOMPtr<nsIASN1PrintableItem> printableItem;
nsCOMPtr<nsIASN1Object> asn1Obj;
nsCOMPtr<nsISupportsArray> parentObjects;
nsCOMPtr<nsIMutableArray> parentObjects;
NS_ENSURE_ARG_POINTER(parent);
if (data >= end)
@ -203,7 +205,7 @@ buildASN1ObjectFromDER(unsigned char *data,
printableItem->SetData((char*)data, len);
}
data += len;
parentObjects->AppendElement(asn1Obj);
parentObjects->AppendElement(asn1Obj, PR_FALSE);
}
return NS_OK;
@ -222,11 +224,10 @@ CreateFromDER(unsigned char *data,
if (NS_SUCCEEDED(rv)) {
// The actual object will be the first element inserted
// into the sequence of the sequence variable we created.
nsCOMPtr<nsISupportsArray> elements;
nsCOMPtr<nsIMutableArray> elements;
sequence->GetASN1Objects(getter_AddRefs(elements));
nsCOMPtr<nsISupports> isupports = dont_AddRef(elements->ElementAt(0));
nsCOMPtr<nsIASN1Object> asn1Obj(do_QueryInterface(isupports));
nsCOMPtr<nsIASN1Object> asn1Obj = do_QueryElementAt(elements, 0);
*retval = asn1Obj;
if (*retval == nsnull)
return NS_ERROR_FAILURE;
@ -249,12 +250,11 @@ nsNSSASN1Sequence::~nsNSSASN1Sequence()
/* destructor code */
}
/* attribute nsISupportsArray ASN1Objects; */
NS_IMETHODIMP
nsNSSASN1Sequence::GetASN1Objects(nsISupportsArray * *aASN1Objects)
nsNSSASN1Sequence::GetASN1Objects(nsIMutableArray * *aASN1Objects)
{
if (mASN1Objects == nsnull) {
mASN1Objects = do_CreateInstance(NS_SUPPORTSARRAY_CONTRACTID);
mASN1Objects = do_CreateInstance(NS_ARRAY_CONTRACTID);
}
*aASN1Objects = mASN1Objects;
NS_IF_ADDREF(*aASN1Objects);
@ -262,7 +262,7 @@ nsNSSASN1Sequence::GetASN1Objects(nsISupportsArray * *aASN1Objects)
}
NS_IMETHODIMP
nsNSSASN1Sequence::SetASN1Objects(nsISupportsArray * aASN1Objects)
nsNSSASN1Sequence::SetASN1Objects(nsIMutableArray * aASN1Objects)
{
mASN1Objects = aASN1Objects;
return NS_OK;

View File

@ -43,6 +43,7 @@
#include "nsString.h"
#include "nsIASN1Sequence.h"
#include "nsIASN1PrintableItem.h"
#include "nsIArray.h"
//
// Read comments in nsIX509Cert.idl for a description of the desired
@ -60,7 +61,7 @@ public:
virtual ~nsNSSASN1Sequence();
/* additional members */
private:
nsCOMPtr<nsISupportsArray> mASN1Objects;
nsCOMPtr<nsIMutableArray> mASN1Objects;
nsString mDisplayName;
nsString mDisplayValue;
PRUint32 mType;

View File

@ -40,7 +40,7 @@
#include "nsNSSComponent.h" // for PIPNSS string bundle calls.
#include "nsCOMPtr.h"
#include "nsISupportsArray.h"
#include "nsArray.h"
#include "nsNSSCertificate.h"
#include "nsNSSCertValidity.h"
#include "nsPKCS12Blob.h"
@ -509,7 +509,7 @@ nsNSSCertificate::GetOrganizationalUnit(nsAString &aOrganizationalUnit)
* nsIEnumerator getChain();
*/
NS_IMETHODIMP
nsNSSCertificate::GetChain(nsISupportsArray **_rvChain)
nsNSSCertificate::GetChain(nsIArray **_rvChain)
{
NS_ENSURE_ARG(_rvChain);
nsresult rv;
@ -523,8 +523,8 @@ nsNSSCertificate::GetChain(nsISupportsArray **_rvChain)
if (!nssChain)
return NS_ERROR_FAILURE;
/* enumerate the chain for scripting purposes */
nsCOMPtr<nsISupportsArray> array;
rv = NS_NewISupportsArray(getter_AddRefs(array));
nsCOMPtr<nsIMutableArray> array;
rv = NS_NewArray(getter_AddRefs(array));
if (NS_FAILED(rv)) {
goto done;
}
@ -533,13 +533,13 @@ nsNSSCertificate::GetChain(nsISupportsArray **_rvChain)
node = CERT_LIST_NEXT(node)) {
PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("adding %s to chain\n", node->cert->nickname));
nsCOMPtr<nsIX509Cert> cert = new nsNSSCertificate(node->cert);
array->AppendElement(cert);
array->AppendElement(cert, PR_FALSE);
}
#else // workaround here
CERTCertificate *cert = nsnull;
/* enumerate the chain for scripting purposes */
nsCOMPtr<nsISupportsArray> array;
rv = NS_NewISupportsArray(getter_AddRefs(array));
nsCOMPtr<nsIMutableArray> array;
rv = NS_NewArray(getter_AddRefs(array));
if (NS_FAILED(rv)) {
goto done;
}
@ -548,7 +548,7 @@ nsNSSCertificate::GetChain(nsISupportsArray **_rvChain)
while (cert) {
nsCOMPtr<nsIX509Cert> pipCert = new nsNSSCertificate(cert);
PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("adding %s to chain\n", cert->nickname));
array->AppendElement(pipCert);
array->AppendElement(pipCert, PR_FALSE);
PRBool wantToBreak = PR_FALSE;
CERTCertificate *next_cert = nsnull;
if (SECITEM_CompareItem(&cert->derIssuer, &cert->derSubject) == SECEqual) {
@ -993,14 +993,14 @@ ProcessSECAlgorithmID(SECAlgorithmID *algID,
} else {
nsCOMPtr<nsIASN1PrintableItem> printableItem = new nsNSSASN1PrintableItem();
printableItem->SetDisplayValue(text);
nsCOMPtr<nsISupportsArray>asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
sequence->GetASN1Objects(getter_AddRefs(asn1Objects));
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpAlgID").get(),
text);
printableItem->SetDisplayName(text);
printableItem = new nsNSSASN1PrintableItem();
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpParams").get(),
text);
printableItem->SetDisplayName(text);
@ -1049,9 +1049,9 @@ ProcessTime(PRTime dispTime, const PRUnichar *displayName,
printableItem->SetDisplayValue(text);
printableItem->SetDisplayName(nsDependentString(displayName));
nsCOMPtr<nsISupportsArray> asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
parentSequence->GetASN1Objects(getter_AddRefs(asn1Objects));
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
return NS_OK;
}
@ -1078,9 +1078,9 @@ ProcessSubjectPublicKeyInfo(CERTSubjectPublicKeyInfo *spki,
if (NS_FAILED(rv))
return rv;
sequenceItem->SetDisplayName(text);
nsCOMPtr<nsISupportsArray> asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
spkiSequence->GetASN1Objects(getter_AddRefs(asn1Objects));
asn1Objects->AppendElement(sequenceItem);
asn1Objects->AppendElement(sequenceItem, PR_FALSE);
// The subjectPublicKey field is encoded as a bit string.
// ProcessRawBytes expects the lenght to be in bytes, so
@ -1098,10 +1098,10 @@ ProcessSubjectPublicKeyInfo(CERTSubjectPublicKeyInfo *spki,
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpSubjPubKey").get(),
text);
printableItem->SetDisplayName(text);
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
parentSequence->GetASN1Objects(getter_AddRefs(asn1Objects));
asn1Objects->AppendElement(spkiSequence);
asn1Objects->AppendElement(spkiSequence, PR_FALSE);
return NS_OK;
}
@ -1121,7 +1121,7 @@ ProcessExtensions(CERTCertExtension **extensions,
PRInt32 i;
nsresult rv;
nsCOMPtr<nsIASN1PrintableItem> newExtension;
nsCOMPtr<nsISupportsArray> asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
extensionSequence->GetASN1Objects(getter_AddRefs(asn1Objects));
for (i=0; extensions[i] != nsnull; i++) {
rv = ProcessSingleExtension(extensions[i], nssComponent,
@ -1129,10 +1129,10 @@ ProcessExtensions(CERTCertExtension **extensions,
if (NS_FAILED(rv))
return rv;
asn1Objects->AppendElement(newExtension);
asn1Objects->AppendElement(newExtension, PR_FALSE);
}
parentSequence->GetASN1Objects(getter_AddRefs(asn1Objects));
asn1Objects->AppendElement(extensionSequence);
asn1Objects->AppendElement(extensionSequence, PR_FALSE);
return NS_OK;
}
@ -1237,7 +1237,7 @@ nsNSSCertificate::CreateTBSCertificateASN1Struct(nsIASN1Sequence **retSequence,
sequence->SetDisplayName(text);
nsCOMPtr<nsIASN1PrintableItem> printableItem;
nsCOMPtr<nsISupportsArray> asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
sequence->GetASN1Objects(getter_AddRefs(asn1Objects));
nsresult rv = ProcessVersion(&mCert->version, nssComponent,
@ -1245,14 +1245,14 @@ nsNSSCertificate::CreateTBSCertificateASN1Struct(nsIASN1Sequence **retSequence,
if (NS_FAILED(rv))
return rv;
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
rv = ProcessSerialNumberDER(&mCert->serialNumber, nssComponent,
getter_AddRefs(printableItem));
if (NS_FAILED(rv))
return rv;
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
nsCOMPtr<nsIASN1Sequence> algID;
rv = ProcessSECAlgorithmID(&mCert->signature,
@ -1263,7 +1263,7 @@ nsNSSCertificate::CreateTBSCertificateASN1Struct(nsIASN1Sequence **retSequence,
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpSigAlg").get(),
text);
algID->SetDisplayName(text);
asn1Objects->AppendElement(algID);
asn1Objects->AppendElement(algID, PR_FALSE);
nsXPIDLString value;
ProcessName(&mCert->issuer, nssComponent, getter_Copies(value));
@ -1276,13 +1276,13 @@ nsNSSCertificate::CreateTBSCertificateASN1Struct(nsIASN1Sequence **retSequence,
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpIssuer").get(),
text);
printableItem->SetDisplayName(text);
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
nsCOMPtr<nsIASN1Sequence> validitySequence = new nsNSSASN1Sequence();
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpValidity").get(),
text);
validitySequence->SetDisplayName(text);
asn1Objects->AppendElement(validitySequence);
asn1Objects->AppendElement(validitySequence, PR_FALSE);
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpNotBefore").get(),
text);
nsCOMPtr<nsIX509CertValidity> validityData;
@ -1312,7 +1312,7 @@ nsNSSCertificate::CreateTBSCertificateASN1Struct(nsIASN1Sequence **retSequence,
printableItem->SetDisplayName(text);
ProcessName(&mCert->subject, nssComponent,getter_Copies(value));
printableItem->SetDisplayValue(value);
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
rv = ProcessSubjectPublicKeyInfo(&mCert->subjectPublicKeyInfo, sequence,
nssComponent);
@ -1338,7 +1338,7 @@ nsNSSCertificate::CreateTBSCertificateASN1Struct(nsIASN1Sequence **retSequence,
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpIssuerUniqueID").get(),
text);
printableItem->SetDisplayName(text);
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
}
if (mCert->subjectID.data) {
@ -1358,7 +1358,7 @@ nsNSSCertificate::CreateTBSCertificateASN1Struct(nsIASN1Sequence **retSequence,
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpSubjectUniqueID").get(),
text);
printableItem->SetDisplayName(text);
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
}
if (mCert->extensions) {
@ -1377,7 +1377,7 @@ DumpASN1Object(nsIASN1Object *object, unsigned int level)
{
nsAutoString dispNameU, dispValU;
unsigned int i;
nsCOMPtr<nsISupportsArray> asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
nsCOMPtr<nsISupports> isupports;
nsCOMPtr<nsIASN1Object> currObject;
PRBool processObjects;
@ -1422,7 +1422,7 @@ nsNSSCertificate::CreateASN1Struct()
return NS_ERROR_OUT_OF_MEMORY;
}
nsCOMPtr<nsISupportsArray> asn1Objects;
nsCOMPtr<nsIMutableArray> asn1Objects;
sequence->GetASN1Objects(getter_AddRefs(asn1Objects));
nsXPIDLCString title;
GetWindowTitle(getter_Copies(title));
@ -1440,7 +1440,7 @@ nsNSSCertificate::CreateASN1Struct()
if (NS_FAILED(rv))
return rv;
asn1Objects->AppendElement(sequence);
asn1Objects->AppendElement(sequence, PR_FALSE);
nsCOMPtr<nsIASN1Sequence> algID;
rv = ProcessSECAlgorithmID(&mCert->signatureWrap.signatureAlgorithm,
@ -1451,7 +1451,7 @@ nsNSSCertificate::CreateASN1Struct()
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpSigAlg").get(),
text);
algID->SetDisplayName(text);
asn1Objects->AppendElement(algID);
asn1Objects->AppendElement(algID, PR_FALSE);
nsCOMPtr<nsIASN1PrintableItem>printableItem = new nsNSSASN1PrintableItem();
nssComponent->GetPIPNSSBundleString(NS_LITERAL_STRING("CertDumpCertSig").get(),
text);
@ -1466,7 +1466,7 @@ nsNSSCertificate::CreateASN1Struct()
text.Truncate();
ProcessRawBytes(&temp,text);
printableItem->SetDisplayValue(text);
asn1Objects->AppendElement(printableItem);
asn1Objects->AppendElement(printableItem, PR_FALSE);
return NS_OK;
}

View File

@ -51,6 +51,7 @@
#include "nsReadableUtils.h"
#include "nsIWindowWatcher.h"
#include "nsIPrompt.h"
#include "nsArray.h"
#include "nspr.h"
extern "C" {
@ -244,7 +245,7 @@ nsNSSCertificateDB::getCertsFromPackage(PRArenaPool *arena, PRUint8 *data,
}
nsresult
nsNSSCertificateDB::handleCACertDownload(nsISupportsArray *x509Certs,
nsNSSCertificateDB::handleCACertDownload(nsIArray *x509Certs,
nsIInterfaceRequestor *ctx)
{
// First thing we have to do is figure out which certificate we're
@ -261,7 +262,7 @@ nsNSSCertificateDB::handleCACertDownload(nsISupportsArray *x509Certs,
// case we display the last cert.
PRUint32 numCerts;
x509Certs->Count(&numCerts);
x509Certs->GetLength(&numCerts);
NS_ASSERTION(numCerts > 0, "Didn't get any certs to import.");
if (numCerts == 0)
return NS_OK; // Nothing to import, so nothing to do.
@ -272,17 +273,13 @@ nsNSSCertificateDB::handleCACertDownload(nsISupportsArray *x509Certs,
if (numCerts == 1) {
// There's only one cert, so let's show it.
selCertIndex = 0;
isupports = dont_AddRef(x509Certs->ElementAt(selCertIndex));
certToShow = do_QueryInterface(isupports);
certToShow = do_QueryElementAt(x509Certs, selCertIndex);
} else {
nsCOMPtr<nsIX509Cert> cert0;
nsCOMPtr<nsIX509Cert> cert1;
isupports = dont_AddRef(x509Certs->ElementAt(0));
cert0 = do_QueryInterface(isupports);
isupports = dont_AddRef(x509Certs->ElementAt(1));
cert1 = do_QueryInterface(isupports);
cert0 = do_QueryElementAt(x509Certs, 0);
cert1 = do_QueryElementAt(x509Certs, 1);
nsXPIDLString cert0SubjectName;
nsXPIDLString cert0IssuerName;
@ -300,8 +297,7 @@ nsNSSCertificateDB::handleCACertDownload(nsISupportsArray *x509Certs,
// so the first cert is the root. Let's display the last cert
// in the list.
selCertIndex = numCerts-1;
isupports = dont_AddRef(x509Certs->ElementAt(selCertIndex));
certToShow = do_QueryInterface(isupports);
certToShow = do_QueryElementAt(x509Certs, selCertIndex);
} else
if (nsCRT::strcmp(cert0IssuerName.get(), cert1SubjectName.get()) == 0) {
// In this case the second cert has signed the first cert. The
@ -391,8 +387,7 @@ nsNSSCertificateDB::handleCACertDownload(nsISupportsArray *x509Certs,
if (i == selCertIndex)
continue;
isupports = dont_AddRef(x509Certs->ElementAt(i));
certToShow = do_QueryInterface(isupports);
certToShow = do_QueryElementAt(x509Certs, i);
certToShow->GetRawDER(&der.len, (PRUint8 **)&der.data);
CERTCertificate *tmpCert2 =
@ -433,8 +428,8 @@ nsNSSCertificateDB::ImportCertificates(PRUint8 * data, PRUint32 length,
PORT_FreeArena(arena, PR_FALSE);
return NS_ERROR_FAILURE;
}
nsCOMPtr<nsISupportsArray> array;
nsresult rv = NS_NewISupportsArray(getter_AddRefs(array));
nsCOMPtr<nsIMutableArray> array;
nsresult rv = NS_NewArray(getter_AddRefs(array));
if (NS_FAILED(rv)) {
PORT_FreeArena(arena, PR_FALSE);
return rv;
@ -450,7 +445,7 @@ nsNSSCertificateDB::ImportCertificates(PRUint8 * data, PRUint32 length,
if (!nssCert)
return NS_ERROR_FAILURE;
x509Cert = do_QueryInterface((nsIX509Cert*)nssCert);
array->AppendElement(x509Cert);
array->AppendElement(x509Cert, PR_FALSE);
}
switch (type) {
case nsIX509Cert::CA_CERT:
@ -897,7 +892,7 @@ GetOCSPResponders (CERTCertificate *aCert,
SECItem *aDBKey,
void *aArg)
{
nsISupportsArray *array = NS_STATIC_CAST(nsISupportsArray*, aArg);
nsIMutableArray *array = NS_STATIC_CAST(nsIMutableArray*, aArg);
PRUnichar* nn = nsnull;
PRUnichar* url = nsnull;
char *serviceURL = nsnull;
@ -922,17 +917,16 @@ GetOCSPResponders (CERTCertificate *aCert,
nsCOMPtr<nsIOCSPResponder> new_entry = new nsOCSPResponder(nn, url);
// Sort the items according to nickname //
rv = array->Count(&count);
rv = array->GetLength(&count);
for (i=0; i < count; ++i) {
nsCOMPtr<nsISupports> isupport = dont_AddRef(array->ElementAt(i));
nsCOMPtr<nsIOCSPResponder> entry = do_QueryInterface(isupport);
nsCOMPtr<nsIOCSPResponder> entry = do_QueryElementAt(array, i);
if (nsOCSPResponder::CompareEntries(new_entry, entry) < 0) {
array->InsertElementAt(new_entry, i);
array->InsertElementAt(new_entry, i, PR_FALSE);
break;
}
}
if (i == count) {
array->AppendElement(new_entry);
array->AppendElement(new_entry, PR_FALSE);
}
return SECSuccess;
}
@ -945,11 +939,11 @@ GetOCSPResponders (CERTCertificate *aCert,
* Export a set of certs and keys from the database to a PKCS#12 file.
*/
NS_IMETHODIMP
nsNSSCertificateDB::GetOCSPResponders(nsISupportsArray ** aResponders)
nsNSSCertificateDB::GetOCSPResponders(nsIArray ** aResponders)
{
SECStatus sec_rv;
nsCOMPtr<nsISupportsArray> respondersArray;
nsresult rv = NS_NewISupportsArray(getter_AddRefs(respondersArray));
nsCOMPtr<nsIMutableArray> respondersArray;
nsresult rv = NS_NewArray(getter_AddRefs(respondersArray));
if (NS_FAILED(rv)) {
return rv;
}

View File

@ -38,9 +38,10 @@
#define __NSNSSCERTIFICATEDB_H__
#include "nsIX509CertDB.h"
#include "nsNSSCertHeader.h"
class nsIArray;
class nsNSSCertificateDB : public nsIX509CertDB
{
public:
@ -64,7 +65,7 @@ private:
CERTDERCerts *getCertsFromPackage(PRArenaPool *arena, PRUint8 *data,
PRUint32 length);
nsresult handleCACertDownload(nsISupportsArray *x509Certs,
nsresult handleCACertDownload(nsIArray *x509Certs,
nsIInterfaceRequestor *ctx);
};

View File

@ -31,7 +31,7 @@
* may use your version of this file under either the MPL or the
* GPL.
*
* $Id: nsPKCS12Blob.h,v 1.9 2002/09/23 20:17:14 kaie%netscape.com Exp $
* $Id: nsPKCS12Blob.h,v 1.10 2002/10/14 14:48:57 kaie%netscape.com Exp $
*/
#ifndef _NS_PKCS12BLOB_H_
@ -42,6 +42,7 @@
#include "nsIPK11TokenDB.h"
#include "nsNSSHelper.h"
#include "nsIPK11Token.h"
#include "nsIArray.h"
#include "nss.h"
@ -79,7 +80,7 @@ public:
private:
nsCOMPtr<nsIPK11Token> mToken;
nsCOMPtr<nsISupportsArray> mCertArray;
nsCOMPtr<nsIMutableArray> mCertArray;
nsCOMPtr<nsIInterfaceRequestor> mUIContext;
// local helper functions