LibreOffice Module xmlsecurity (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
SecurityEnvironment_NssImpl Class Reference

#include <securityenvironment_nssimpl.hxx>

Inheritance diagram for SecurityEnvironment_NssImpl:
[legend]
Collaboration diagram for SecurityEnvironment_NssImpl:
[legend]

Public Member Functions

 SecurityEnvironment_NssImpl ()
 
virtual ~SecurityEnvironment_NssImpl () override
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual ::sal_Int32 SAL_CALL verifyCertificate (const css::uno::Reference< css::security::XCertificate > &xCert, const css::uno::Sequence< css::uno::Reference< css::security::XCertificate > > &intermediateCerts) override
 
virtual ::sal_Int32 SAL_CALL getCertificateCharacters (const css::uno::Reference< css::security::XCertificate > &xCert) override
 
virtual OUString SAL_CALL getSecurityEnvironmentInformation () override
 
void setCertDb (CERTCertDBHandle *aCertDb)
 
void adoptSymKey (PK11SymKey *aSymKey)
 
virtual css::uno::Sequence< css::uno::Reference< css::security::XCertificate > > SAL_CALL getPersonalCertificates () override
 
virtual css::uno::Sequence< css::uno::Reference< css::security::XCertificate > > SAL_CALL getAllCertificates () override
 
virtual css::uno::Reference< css::security::XCertificate > SAL_CALL getCertificate (const OUString &issuerName, const css::uno::Sequence< sal_Int8 > &serialNumber) override
 
virtual css::uno::Sequence< css::uno::Reference< css::security::XCertificate > > SAL_CALL buildCertificatePath (const css::uno::Reference< css::security::XCertificate > &beginCert) override
 
virtual css::uno::Reference< css::security::XCertificate > SAL_CALL createCertificateFromRaw (const css::uno::Sequence< sal_Int8 > &rawCertificate) override
 
virtual css::uno::Reference< css::security::XCertificate > SAL_CALL createCertificateFromAscii (const OUString &asciiCertificate) override
 
css::uno::Reference< css::security::XCertificate > SAL_CALL addDERCertificateToTheDatabase (css::uno::Sequence< sal_Int8 > const &raDERCertificate, OUString const &raTrustString) override
 
css::uno::Reference< css::security::XCertificate > SAL_CALL createDERCertificateWithPrivateKey (css::uno::Sequence< sal_Int8 > const &raDERCertificate, css::uno::Sequence< sal_Int8 > const &raPrivateKey) override
 
xmlSecKeysMngrPtr createKeysManager ()
 

Static Public Member Functions

static void destroyKeysManager (xmlSecKeysMngrPtr pKeysMngr)
 

Private Member Functions

void updateSlots ()
 
void addCryptoSlot (PK11SlotInfo *aSlot)
 

Static Private Member Functions

static rtl::Reference< X509Certificate_NssImplcreateAndAddCertificateFromPackage (const css::uno::Sequence< sal_Int8 > &raDerCertificate, std::u16string_view raString)
 
static SECKEYPrivateKey * insertPrivateKey (css::uno::Sequence< sal_Int8 > const &raPrivateKey)
 
static rtl::Reference< X509Certificate_NssImplcreateX509CertificateFromDER (const css::uno::Sequence< sal_Int8 > &raDerCertificate)
 

Private Attributes

std::vector< PK11SlotInfo * > m_Slots
 
css::uno::Reference< css::security::XCertificate > m_xSigningCertificate
 The last used certificate which has the private key for signing. More...
 
std::mutex m_mutex
 
CERTCertDBHandle * m_pHandler
 
std::vector< PK11SymKey * > m_tSymKeyList
 

Detailed Description

Definition at line 46 of file securityenvironment_nssimpl.hxx.

Constructor & Destructor Documentation

◆ SecurityEnvironment_NssImpl()

SecurityEnvironment_NssImpl::SecurityEnvironment_NssImpl ( )

Definition at line 119 of file securityenvironment_nssimpl.cxx.

References GetPasswordFunction().

◆ ~SecurityEnvironment_NssImpl()

SecurityEnvironment_NssImpl::~SecurityEnvironment_NssImpl ( )
overridevirtual

Definition at line 124 of file securityenvironment_nssimpl.cxx.

References m_Slots, and m_tSymKeyList.

Member Function Documentation

◆ addCryptoSlot()

void SecurityEnvironment_NssImpl::addCryptoSlot ( PK11SlotInfo *  aSlot)
private
Exceptions
css::uno::Exception
css::uno::RuntimeException

Definition at line 164 of file securityenvironment_nssimpl.cxx.

References m_Slots.

Referenced by updateSlots().

◆ addDERCertificateToTheDatabase()

uno::Reference< security::XCertificate > SecurityEnvironment_NssImpl::addDERCertificateToTheDatabase ( css::uno::Sequence< sal_Int8 > const &  raDERCertificate,
OUString const &  raTrustString 
)
override

◆ adoptSymKey()

void SecurityEnvironment_NssImpl::adoptSymKey ( PK11SymKey *  aSymKey)
Exceptions
css::uno::Exception
css::uno::RuntimeException

Definition at line 175 of file securityenvironment_nssimpl.cxx.

References Exception, and m_tSymKeyList.

Referenced by updateSlots().

◆ buildCertificatePath()

Sequence< Reference< XCertificate > > SecurityEnvironment_NssImpl::buildCertificatePath ( const css::uno::Reference< css::security::XCertificate > &  beginCert)
overridevirtual

◆ createAndAddCertificateFromPackage()

rtl::Reference< X509Certificate_NssImpl > SecurityEnvironment_NssImpl::createAndAddCertificateFromPackage ( const css::uno::Sequence< sal_Int8 > &  raDerCertificate,
std::u16string_view  raString 
)
staticprivate

◆ createCertificateFromAscii()

Reference< XCertificate > SecurityEnvironment_NssImpl::createCertificateFromAscii ( const OUString &  asciiCertificate)
overridevirtual

◆ createCertificateFromRaw()

Reference< XCertificate > SecurityEnvironment_NssImpl::createCertificateFromRaw ( const css::uno::Sequence< sal_Int8 > &  rawCertificate)
overridevirtual

◆ createDERCertificateWithPrivateKey()

uno::Reference< security::XCertificate > SecurityEnvironment_NssImpl::createDERCertificateWithPrivateKey ( css::uno::Sequence< sal_Int8 > const &  raDERCertificate,
css::uno::Sequence< sal_Int8 > const &  raPrivateKey 
)
override

◆ createKeysManager()

xmlSecKeysMngrPtr SecurityEnvironment_NssImpl::createKeysManager ( )
Exceptions
css::uno::RuntimeException

Definition at line 775 of file securityenvironment_nssimpl.cxx.

References count, m_Slots, m_xSigningCertificate, and SAL_WARN.

◆ createX509CertificateFromDER()

rtl::Reference< X509Certificate_NssImpl > SecurityEnvironment_NssImpl::createX509CertificateFromDER ( const css::uno::Sequence< sal_Int8 > &  raDerCertificate)
staticprivate

Definition at line 439 of file securityenvironment_nssimpl.cxx.

Referenced by createCertificateFromRaw().

◆ destroyKeysManager()

void SecurityEnvironment_NssImpl::destroyKeysManager ( xmlSecKeysMngrPtr  pKeysMngr)
static
Exceptions
css::uno::Exception
css::uno::RuntimeException

Definition at line 819 of file securityenvironment_nssimpl.cxx.

Referenced by std::default_delete< xmlSecKeysMngr >::operator()().

◆ getAllCertificates()

virtual css::uno::Sequence< css::uno::Reference< css::security::XCertificate > > SAL_CALL SecurityEnvironment_NssImpl::getAllCertificates ( )
inlineoverridevirtual

Definition at line 97 of file securityenvironment_nssimpl.hxx.

◆ getCertificate()

Reference< XCertificate > SecurityEnvironment_NssImpl::getCertificate ( const OUString &  issuerName,
const css::uno::Sequence< sal_Int8 > &  serialNumber 
)
overridevirtual

◆ getCertificateCharacters()

sal_Int32 SecurityEnvironment_NssImpl::getCertificateCharacters ( const css::uno::Reference< css::security::XCertificate > &  xCert)
override

◆ getImplementationName()

OUString SAL_CALL SecurityEnvironment_NssImpl::getImplementationName ( )
overridevirtual

Definition at line 138 of file securityenvironment_nssimpl.cxx.

◆ getPersonalCertificates()

Sequence< Reference< XCertificate > > SecurityEnvironment_NssImpl::getPersonalCertificates ( )
overridevirtual

Definition at line 250 of file securityenvironment_nssimpl.cxx.

References m_Slots, NssPrivKeyToXCert(), and updateSlots().

◆ getSecurityEnvironmentInformation()

OUString SecurityEnvironment_NssImpl::getSecurityEnvironmentInformation ( )
overridevirtual

Definition at line 153 of file securityenvironment_nssimpl.cxx.

References m_Slots.

◆ getSupportedServiceNames()

Sequence< OUString > SAL_CALL SecurityEnvironment_NssImpl::getSupportedServiceNames ( )
overridevirtual

Definition at line 148 of file securityenvironment_nssimpl.cxx.

◆ insertPrivateKey()

SECKEYPrivateKey * SecurityEnvironment_NssImpl::insertPrivateKey ( css::uno::Sequence< sal_Int8 > const &  raPrivateKey)
staticprivate

Definition at line 825 of file securityenvironment_nssimpl.cxx.

Referenced by createDERCertificateWithPrivateKey().

◆ setCertDb()

void SecurityEnvironment_NssImpl::setCertDb ( CERTCertDBHandle *  aCertDb)
Exceptions
css::uno::Exception
css::uno::RuntimeException

Definition at line 171 of file securityenvironment_nssimpl.cxx.

References m_pHandler.

Referenced by SEInitializer_NssImpl::createSecurityContext().

◆ supportsService()

sal_Bool SAL_CALL SecurityEnvironment_NssImpl::supportsService ( const OUString &  ServiceName)
overridevirtual

Definition at line 143 of file securityenvironment_nssimpl.cxx.

References cppu::supportsService().

◆ updateSlots()

void SecurityEnvironment_NssImpl::updateSlots ( )
private

◆ verifyCertificate()

sal_Int32 SecurityEnvironment_NssImpl::verifyCertificate ( const css::uno::Reference< css::security::XCertificate > &  xCert,
const css::uno::Sequence< css::uno::Reference< css::security::XCertificate > > &  intermediateCerts 
)
override

!! using leaf test and CERT_REV_MI_REQUIRE_SOME_FRESH_INFO_AVAILABLE

Definition at line 477 of file securityenvironment_nssimpl.cxx.

References CERT_NewTempCertificate, err, getCertError(), X509Certificate_NssImpl::getNssCert(), i, log, m_pHandler, printChainFailure(), and SAL_INFO.

Member Data Documentation

◆ m_mutex

std::mutex SecurityEnvironment_NssImpl::m_mutex
private

Definition at line 57 of file securityenvironment_nssimpl.hxx.

Referenced by updateSlots().

◆ m_pHandler

CERTCertDBHandle* SecurityEnvironment_NssImpl::m_pHandler
private

Definition at line 59 of file securityenvironment_nssimpl.hxx.

Referenced by getCertificate(), setCertDb(), and verifyCertificate().

◆ m_Slots

std::vector< PK11SlotInfo* > SecurityEnvironment_NssImpl::m_Slots
private

◆ m_tSymKeyList

std::vector< PK11SymKey* > SecurityEnvironment_NssImpl::m_tSymKeyList
private

◆ m_xSigningCertificate

css::uno::Reference<css::security::XCertificate> SecurityEnvironment_NssImpl::m_xSigningCertificate
private

The last used certificate which has the private key for signing.

Definition at line 55 of file securityenvironment_nssimpl.hxx.

Referenced by buildCertificatePath(), and createKeysManager().


The documentation for this class was generated from the following files: