NetworkManager/libnm-util
Dan Williams 28e6523b8d libnm-util: rework certificate and private key handling
First, it was not easily possible to set a private key without
also providing a password.  This used to be OK, but now with
secret flags it may be the case that when the connection is read,
there's no private key password.  So functions that set the
private key must account for NULL passwords.

Unfortunately, the crytpo code did not handle this case well.
We need to be able to independently (a) verify that a file looks
like a certificate or private key and (b) that a given password
decrypts a private key.  Previously the crypto code would fail
to verify the file when the password was NULL.

So this change fixes up the crytpo code for a more distinct
split between these two operations, such that if no password is
given, the file is still checked to ensure that it's a private
key or a certificate.  If a password is given, the password is
checked against the private key file.

This commit also changes how private keys and certificates were
handled with the BLOB scheme.  Previously only the first certificate
or first private key was included in the property data, while now
the entire file is encoded in the data.  This is intended to fix
cases where multiple private keys or certificates are present in
a PEM file.  It also allows clients to push certificate data to
NetworkManager for storage in system settings locations, which was
not as flexible before when only part of the certificate or key
was sent as the data.
2011-03-02 12:00:47 -06:00
..
tests libnm-util: rework certificate and private key handling 2011-03-02 12:00:47 -06:00
COPYING doc: fix FSF address (bgo #575625) 2009-09-10 21:03:30 -04:00
crypto.c libnm-util: rework certificate and private key handling 2011-03-02 12:00:47 -06:00
crypto.h libnm-util: rework certificate and private key handling 2011-03-02 12:00:47 -06:00
crypto_gnutls.c libnm-util: add nm_utils_rsa_key_encrypt() and fix crypto padding mixups 2009-09-15 16:01:50 -07:00
crypto_nss.c crypto: de-init NSS after calling PR_GetError() 2010-01-21 12:57:31 -08:00
libnm-util.pc.in build: pkg-config file fixes 2010-01-20 16:53:04 -08:00
libnm-util.ver libnm-util: add nm_connection_diff() 2011-02-22 23:36:43 -06:00
Makefile.am libnm-util: bump soname to indicate ABI break 2011-02-12 23:24:30 -06:00
nm-connection.c libnm-util: add nm_connection_diff() 2011-02-22 23:36:43 -06:00
nm-connection.h libnm-util: fix parameter name for docs generator 2011-02-28 11:29:50 -06:00
nm-param-spec-specialized.c libnm-util: convert from old IP6 address format to new 2010-04-19 10:14:44 -07:00
nm-param-spec-specialized.h Rename private nm_* functions to _nm_* 2008-08-26 09:34:31 +00:00
nm-setting-8021x.c libnm-util: rework certificate and private key handling 2011-03-02 12:00:47 -06:00
nm-setting-8021x.h libnm-util: rework certificate and private key handling 2011-03-02 12:00:47 -06:00
nm-setting-bluetooth.c libnm-util: fix description of bluetooth setting type property 2011-02-18 11:23:21 -06:00
nm-setting-bluetooth.h libnm-util: add class padding for future expansion 2009-09-30 09:21:32 -07:00
nm-setting-cdma.c core: don't require serial and PPP settings for mobile broadband 2011-02-25 11:24:20 -06:00
nm-setting-cdma.h libnm-util: add secret flags for each secret describing how the secret is stored 2011-01-29 13:34:24 -06:00
nm-setting-connection.c libnm-util: reject detail in permissions for now 2011-02-13 00:21:41 -06:00
nm-setting-connection.h libnm-util: rework permissions helpers to be more useful 2011-02-07 18:35:48 -06:00
nm-setting-gsm.c core: don't require serial and PPP settings for mobile broadband 2011-02-25 11:24:20 -06:00
nm-setting-gsm.h libnm-util: add secret flags for each secret describing how the secret is stored 2011-01-29 13:34:24 -06:00
nm-setting-ip4-config.c Merge remote-tracking branch 'origin/rm-userset' 2011-02-12 22:51:12 -06:00
nm-setting-ip4-config.h introspection: add GObject introspection support (bgo #637032) 2011-01-21 14:46:09 -06:00
nm-setting-ip6-config.c introspection: add GObject introspection support (bgo #637032) 2011-01-21 14:46:09 -06:00
nm-setting-ip6-config.h introspection: add GObject introspection support (bgo #637032) 2011-01-21 14:46:09 -06:00
nm-setting-olpc-mesh.c misc: license fixups 2010-01-21 15:11:50 -08:00
nm-setting-olpc-mesh.h misc: license fixups 2010-01-21 15:11:50 -08:00
nm-setting-ppp.c doc: document ppp setting properties 2009-11-11 14:06:48 -08:00
nm-setting-ppp.h libnm-util: add class padding for future expansion 2009-09-30 09:21:32 -07:00
nm-setting-pppoe.c libnm-util: update CDMA, GSM, and PPPoE settings for NOT_REQUIRED secrets 2011-02-07 19:16:54 -06:00
nm-setting-pppoe.h libnm-util: add secret flags for each secret describing how the secret is stored 2011-01-29 13:34:24 -06:00
nm-setting-private.h libnm-util: add NM_SETTING_SECRET_FLAG_NOT_REQUIRED 2011-02-07 13:50:40 -06:00
nm-setting-serial.c core: don't require serial and PPP settings for mobile broadband 2011-02-25 11:24:20 -06:00
nm-setting-serial.h libnm-util: add class padding for future expansion 2009-09-30 09:21:32 -07:00
nm-setting-template.c 2008-10-27 Dan Williams <dcbw@redhat.com> 2008-10-27 17:36:18 +00:00
nm-setting-template.h libnm-util: add class padding for future expansion 2009-09-30 09:21:32 -07:00
nm-setting-vpn.c libnm-util: warn if trying to set NULL VPN secrets 2011-02-12 22:37:33 -06:00
nm-setting-vpn.h libnm-util: remove VPNIterFunc backwards compat define 2011-02-21 18:04:49 -06:00
nm-setting-wimax.c libnm-util: clarify WiMAX network-name property description 2011-02-16 22:39:38 -06:00
nm-setting-wimax.h wimax: Implement WiMAX support 2009-12-18 15:41:27 +02:00
nm-setting-wired.c doc: trivial fix in documentation of 's390-subchannels' property 2010-08-06 11:36:11 +02:00
nm-setting-wired.h core: handle s390 options more cleanly 2010-06-29 00:37:14 -07:00
nm-setting-wireless-security.c libnm-util: NM_SETTING_SECRET_FLAG_SYSTEM_OWNED -> NM_SETTING_SECRET_FLAG_NONE 2011-02-06 23:37:39 -06:00
nm-setting-wireless-security.h libnm-util: add secret flags for each secret describing how the secret is stored 2011-01-29 13:34:24 -06:00
nm-setting-wireless.c libnm-util: add defines for wifi modes 2011-01-09 02:00:29 -06:00
nm-setting-wireless.h libnm-util: add defines for wifi modes 2011-01-09 02:00:29 -06:00
nm-setting.c libnm-util: simplify nm_setting_update_secrets() 2011-02-23 19:36:17 -06:00
nm-setting.h libnm-util: add nm_connection_diff() 2011-02-22 23:36:43 -06:00
nm-utils-private.h 2008-11-20 Dan Williams <dcbw@redhat.com> 2008-11-20 20:22:14 +00:00
nm-utils.c libnm-util: remove nm_warning/nm_info/nm_error macros 2011-02-23 11:42:04 -06:00
nm-utils.h libnm-util: remove nm_warning/nm_info/nm_error macros 2011-02-23 11:42:04 -06:00