Some s/mime work

git-svn-id: svn://10.0.0.236/branches/PSM_2_2_DEV_20011002_BRANCH@105909 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
ddrinan%netscape.com
2001-10-22 01:07:13 +00:00
parent 33082451ba
commit faf83160ae
2 changed files with 14 additions and 25 deletions

View File

@@ -123,10 +123,13 @@ interface nsIX509CertDB : nsISupports {
in nsCertCompareFunc aCertCmpFn,
out nsISupportsArray certs);
nsIX509Cert getDefaultEmailEncryptionCert();
/* Get the user encryption cert */
nsIX509Cert getEmailEncryptionCert(in wstring aNickname);
nsIX509Cert getDefaultEmailSigningCert();
/* Get the user signing cert */
nsIX509Cert getEmailSigningCert(in wstring aNickname);
/* Get a cert by email address */
nsIX509Cert getCertByEmailAddress(in nsIPK11Token aToken,
in string aEmailAddress);

View File

@@ -32,7 +32,7 @@
* may use your version of this file under either the MPL or the
* GPL.
*
* $Id: nsNSSCertificate.cpp,v 1.51.2.1.2.6 2001-10-11 05:56:43 kaie%netscape.com Exp $
* $Id: nsNSSCertificate.cpp,v 1.51.2.1.2.7 2001-10-22 01:07:13 ddrinan%netscape.com Exp $
*/
#include "prmem.h"
@@ -3799,26 +3799,19 @@ nsNSSCertificateDB::EnableOCSP()
/* nsIX509Cert getDefaultEmailEncryptionCert (); */
NS_IMETHODIMP
nsNSSCertificateDB::GetDefaultEmailEncryptionCert(nsIX509Cert **_retval)
nsNSSCertificateDB::GetEmailEncryptionCert(const PRUnichar* aNickname, nsIX509Cert **_retval)
{
nsresult rv = NS_OK;
CERTCertificate *cert = 0;
nsXPIDLCString nickname;
nsCOMPtr<nsIInterfaceRequestor> ctx = new PipUIContext();
nsNSSCertificate *nssCert = nsnull;
char *asciiname = NULL;
asciiname = NS_CONST_CAST(char*, NS_ConvertUCS2toUTF8(aNickname).get());
*_retval = 0;
static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
nsCOMPtr<nsIPref> prefs = do_GetService(kPrefCID, &rv);
if (NS_FAILED(rv)) goto loser;
rv = prefs->GetCharPref("security.default_mail_cert",
getter_Copies(nickname));
if (NS_FAILED(rv)) goto loser;
/* Find a good cert in the user's database */
cert = CERT_FindUserCertByUsage(CERT_GetDefaultCertDB(), (char*)nickname.get(),
cert = CERT_FindUserCertByUsage(CERT_GetDefaultCertDB(), asciiname,
certUsageEmailRecipient, PR_TRUE, ctx);
if (!cert) { goto loser; }
@@ -3838,26 +3831,19 @@ loser:
/* nsIX509Cert getDefaultEmailSigningCert (); */
NS_IMETHODIMP
nsNSSCertificateDB::GetDefaultEmailSigningCert(nsIX509Cert **_retval)
nsNSSCertificateDB::GetEmailSigningCert(const PRUnichar* aNickname, nsIX509Cert **_retval)
{
nsresult rv = NS_OK;
CERTCertificate *cert = 0;
nsXPIDLCString nickname;
nsCOMPtr<nsIInterfaceRequestor> ctx = new PipUIContext();
nsNSSCertificate *nssCert = nsnull;
char *asciiname = NULL;
asciiname = NS_CONST_CAST(char*, NS_ConvertUCS2toUTF8(aNickname).get());
*_retval = 0;
static NS_DEFINE_CID(kPrefCID, NS_PREF_CID);
nsCOMPtr<nsIPref> prefs = do_GetService(kPrefCID, &rv);
if (NS_FAILED(rv)) goto loser;
rv = prefs->GetCharPref("security.default_mail_cert",
getter_Copies(nickname));
if (NS_FAILED(rv)) goto loser;
/* Find a good cert in the user's database */
cert = CERT_FindUserCertByUsage(CERT_GetDefaultCertDB(), (char*)nickname.get(),
cert = CERT_FindUserCertByUsage(CERT_GetDefaultCertDB(), asciiname,
certUsageEmailSigner, PR_TRUE, ctx);
if (!cert) { goto loser; }