From 487385179b4d3156348c82637109bdc3f6f319f1 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Fri, 9 Jul 2010 16:44:11 +0200 Subject: Add tp-spec extensions for TLS auth. --- extensions/Authentication_TLS_Certificate.xml | 191 ++++++++++++++++++++++ extensions/Channel_Type_Server_TLS_Connection.xml | 54 ++++++ extensions/misc.xml | 2 + 3 files changed, 247 insertions(+) create mode 100644 extensions/Authentication_TLS_Certificate.xml create mode 100644 extensions/Channel_Type_Server_TLS_Connection.xml diff --git a/extensions/Authentication_TLS_Certificate.xml b/extensions/Authentication_TLS_Certificate.xml new file mode 100644 index 000000000..1063d085f --- /dev/null +++ b/extensions/Authentication_TLS_Certificate.xml @@ -0,0 +1,191 @@ + + + Copyright © 2010 Collabora Limited + + This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + + + + + This object represents a TLS certificate. + + + + + The raw data contained in a TLS certificate. + + + + + + The possible states for a TLSCertificate.DRAFT + object. + + + + + The certificate has no state associated with it. + + + + + + The certificate has been verified. + + + + + + The certificate has been rejected. + + + + + + + Possible reasons to reject a TLS certificate. + + + + + No reason specified. + + + + + + The certificate has been rejected for another reason + not listed in this enumeration. + + + + + + The certificate is not trusted. + + + + + + The certificate is expired. + + + + + + The certificate is not active yet. + + + + + + The hostname certified does not match the provided one. + + + + + + The certificate is self-signed. + + + + + + The certificate has been revoked. + + + + + + The certificate uses an insecure cipher algorithm. + + + + + + + The current state of this certificate. + State change notifications happen by means of the + StateChanged signal. + + + + + + The reason why this certificate has been rejected. + + + + + + The type of this TLS certificate (e.g. 'x509' or 'pgp'). + + + + + + The RAW PEM-encoded trust chain of this TLS certificate. + + + + + + The state of this TLS certificate has changed. + + + + The new state of the TLS certificate. + + + + + The reason why the state of the TLS certificate changed. + + + + + + + Accepts this certificate, i.e. marks it as verified. + This method doesn't do anything on local certificates. + + + + + + Rejects this certificate. This method doesn't do anything + on local certificates. + + + + The reason why this certificate is being rejected. + + + + + + diff --git a/extensions/Channel_Type_Server_TLS_Connection.xml b/extensions/Channel_Type_Server_TLS_Connection.xml new file mode 100644 index 000000000..47042731f --- /dev/null +++ b/extensions/Channel_Type_Server_TLS_Connection.xml @@ -0,0 +1,54 @@ + + + Copyright © 2010 Collabora Limited + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + + + + + + +

+ A channel type that carries a TLS certificate between a server + and a client connecting to it.
+ Channels of this kind are never requested, are anonymous, and SHOULD be + dispatched while the + Connection + owning it is in the CONNECTING state.

+

In this case, handlers SHOULD accept or reject the certificate, using + the relevant methods on the provided object, or MAY just close the channel before doing so, to fall + back to a non-interactive verification process done inside the CM.

+

For example, channels of this kind can pop up while a client is + connecting to an XMPP server.

+
+ + + + A TLSCertificate.DRAFT + containing the certificate chain as sent by the server, + and other relevant information. + + + +
+
+ diff --git a/extensions/misc.xml b/extensions/misc.xml index 6fe06d8ab..320d488fd 100644 --- a/extensions/misc.xml +++ b/extensions/misc.xml @@ -7,5 +7,7 @@ + + -- cgit v1.2.3