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:
@@ -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);
|
||||
|
||||
|
||||
@@ -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; }
|
||||
|
||||
Reference in New Issue
Block a user