summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
Diffstat (limited to 'offapi')
-rw-r--r--offapi/UnoApi_offapi.mk1
-rw-r--r--offapi/com/sun/star/xml/crypto/NSSInitializer.idl8
-rw-r--r--offapi/com/sun/star/xml/crypto/NSSProfile.idl54
-rw-r--r--offapi/com/sun/star/xml/crypto/XNSSInitializer.idl28
4 files changed, 91 insertions, 0 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 2003e4eaaa2a..ad073f8b8f9f 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -462,6 +462,7 @@ $(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/xforms,\
))
$(eval $(call gb_UnoApi_add_idlfiles_nohdl,offapi,com/sun/star/xml/crypto,\
NSSInitializer \
+ NSSProfile \
SecurityEnvironment \
SEInitializer \
GPGSEInitializer \
diff --git a/offapi/com/sun/star/xml/crypto/NSSInitializer.idl b/offapi/com/sun/star/xml/crypto/NSSInitializer.idl
index 9eea7b1701eb..7eb857596afb 100644
--- a/offapi/com/sun/star/xml/crypto/NSSInitializer.idl
+++ b/offapi/com/sun/star/xml/crypto/NSSInitializer.idl
@@ -25,6 +25,14 @@
module com { module sun { module star { module xml { module crypto {
/**
+ This service has a particular lifecycle. If you create an instance,
+ the NSS backend is not initialized, until some of the crypto functions
+ are called. As a result you can effectively change the user setting to
+ the NSS path until NSS is really used.
+
+ After the first usage you have to restart LibreOffice to activate a new
+ NSS path.
+
@since LibreOffice 4.0
*/
service NSSInitializer : XNSSInitializer;
diff --git a/offapi/com/sun/star/xml/crypto/NSSProfile.idl b/offapi/com/sun/star/xml/crypto/NSSProfile.idl
new file mode 100644
index 000000000000..4ac4a39c0b52
--- /dev/null
+++ b/offapi/com/sun/star/xml/crypto/NSSProfile.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_xml_crypto_NSSProfile_idl_
+#define __com_sun_star_xml_crypto_NSSProfile_idl_
+
+#include <com/sun/star/mozilla/MozillaProductType.idl>
+
+module com { module sun { module star { module xml { module crypto {
+
+/**
+ @since LibreOffice 7.1
+ */
+struct NSSProfile {
+ /** the name of the NSS profile
+
+ Normally the name will reflect the name of the Mozilla profile. But the
+ profile list also contains the following special enties: MANUAL and
+ MOZILLA_CERTIFICATE_FOLDER.
+ These will have a product type of MozillaProductType::Default and might
+ have an empty path, if that value is not available.
+ */
+ string Name;
+
+ /** the path to the NSS databases
+ */
+ string Path;
+
+ /** the type of the NSS profile
+ */
+ ::com::sun::star::mozilla::MozillaProductType Type;
+};
+
+} ; } ; } ; } ; } ;
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/xml/crypto/XNSSInitializer.idl b/offapi/com/sun/star/xml/crypto/XNSSInitializer.idl
index 36f7ce3585a0..a6ff1ab7b3fa 100644
--- a/offapi/com/sun/star/xml/crypto/XNSSInitializer.idl
+++ b/offapi/com/sun/star/xml/crypto/XNSSInitializer.idl
@@ -22,6 +22,8 @@
#include <com/sun/star/xml/crypto/XCipherContextSupplier.idl>
#include <com/sun/star/xml/crypto/XDigestContextSupplier.idl>
+#include <com/sun/star/xml/crypto/NSSProfile.idl>
+#include <com/sun/star/xml/lang/XInitialization.idl>
module com { module sun { module star { module xml { module crypto {
@@ -31,6 +33,32 @@ module com { module sun { module star { module xml { module crypto {
interface XNSSInitializer {
interface ::com::sun::star::xml::crypto::XDigestContextSupplier;
interface ::com::sun::star::xml::crypto::XCipherContextSupplier;
+
+ /** the current path to the NSS databases
+
+ This attribute returns the current setting, based on the user selection
+ or automatic detection. This value can change until someone uses NSS
+ crypto functions, because just then LibreOffice initializes the NSS
+ library and the value stays fixed until LibreOffice is restarted!
+
+ @since LibreOffice 7.1
+ */
+ [attribute, readonly] string NSSPath;
+
+ /** the state of the NSS initialization
+
+ This attribute returns true, if the NSS library is initialized.
+
+ @see NSSPath
+ @since LibreOffice 7.1
+ */
+ [attribute, readonly] boolean IsNSSinitialized;
+
+ /** get the current profile list
+
+ @since LibreOffice 7.1
+ */
+ sequence<NSSProfile> getNSSProfiles();
};
} ; } ; } ; } ; } ;