From nmav at gnutls.org Sun May 3 20:03:47 2015 From: nmav at gnutls.org (Nikos Mavrogiannopoulos) Date: Sun, 03 May 2015 20:03:47 +0200 Subject: [gnutls-help] gnutls 3.3.15 Message-ID: <1430676227.17186.1.camel@gnutls.org> Hello, I've just released gnutls 3.3.15. This is a bug-fix release on the current stable branch. * Version 3.3.15 (released 2015-05-03) ** libgnutls: gnutls_certificate_get_ours: will return the certificate even if a callback was used to send it. ** libgnutls: Fix for MD5 downgrade in TLS 1.2 signatures. Reported by Karthikeyan Bhargavan [GNUTLS-SA-2015-2]. ** libgnutls: Check for invalid length in the X.509 version field. Without the check certificates with invalid length would be detected as having an arbitrary version. Reported by Hanno B?ck. ** API and ABI modifications: No changes since last version. Getting the Software ==================== GnuTLS may be downloaded directly from . A list of GnuTLS mirrors can be found at . Here are the XZ and LZIP compressed sources: ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.15.tar.xz ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.15.tar.lz Here are OpenPGP detached signatures signed using key 0x96865171: ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.15.tar.xz.sig ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.15.tar.lz.sig Note that it has been signed with my openpgp key: pub 3104R/96865171 2008-05-04 [expires: 2028-04-29] uid Nikos Mavrogiannopoulos gnutls.org> uid Nikos Mavrogiannopoulos gmail.com> sub 2048R/9013B842 2008-05-04 [expires: 2018-05-02] sub 2048R/1404A91D 2008-05-04 [expires: 2018-05-02] regards, Nikos From nmav at gnutls.org Sun May 3 20:05:29 2015 From: nmav at gnutls.org (Nikos Mavrogiannopoulos) Date: Sun, 03 May 2015 20:05:29 +0200 Subject: [gnutls-help] gnutls 3.4.1 Message-ID: <1430676329.17186.2.camel@gnutls.org> Hello, I've just released gnutls 3.4.1. This is a bug-fix release on the next stable branch. * Version 3.4.1 (released 2015-05-03) ** libgnutls: gnutls_certificate_get_ours: will return the certificate even if a callback was used to send it. ** libgnutls: Check for invalid length in the X.509 version field. Without the check certificates with invalid length would be detected as having an arbitrary version. Reported by Hanno B?ck. ** libgnutls: Handle DNS name constraints with a leading dot. Patch by Fotis Loukos. ** libgnutls: Updated system-keys support for windows to compile in more versions of mingw. Patch by Tim Kosse. ** libgnutls: Fix for MD5 downgrade in TLS 1.2 signatures. Reported by Karthikeyan Bhargavan [GNUTLS-SA-2015-2]. ** libgnutls: Reverted: The gnutls_handshake() process will enforce a timeout by default. That caused issues with non-blocking programs. ** certtool: It can generate SHA256 key IDs. ** gnutls-cli: fixed crash in --benchmark-ciphers. Reported by James Cloos. ** configure: re-enabled the --enable-local-libopts flag ** API and ABI modifications: gnutls_x509_crt_get_pk_ecc_raw: Added Getting the Software ==================== GnuTLS may be downloaded directly from . A list of GnuTLS mirrors can be found at . Here are the XZ and LZIP compressed sources: ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-3.4.1.tar.xz ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-3.4.1.tar.lz Here are OpenPGP detached signatures signed using key 0x96865171: ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-3.4.1.tar.xz.sig ftp://ftp.gnutls.org/gcrypt/gnutls/v3.4/gnutls-3.4.1.tar.lz.sig Note that it has been signed with my openpgp key: pub 3104R/96865171 2008-05-04 [expires: 2028-04-29] uid Nikos Mavrogiannopoulos gnutls.org> uid Nikos Mavrogiannopoulos gmail.com> sub 2048R/9013B842 2008-05-04 [expires: 2018-05-02] sub 2048R/1404A91D 2008-05-04 [expires: 2018-05-02] regards, Nikos From nmav at gnutls.org Mon May 4 10:38:04 2015 From: nmav at gnutls.org (Nikos Mavrogiannopoulos) Date: Mon, 4 May 2015 10:38:04 +0200 Subject: [gnutls-help] FIPS mode: Removing TLS 1.0 + reference In-Reply-To: <20150429204305.09a50ed9@mevla> References: <2a3b5010ff4387a44618f37938b006f9@teksavvy.com> <20150429204305.09a50ed9@mevla> Message-ID: On Thu, Apr 30, 2015 at 2:43 AM, jonetsu at teksavvy.com wrote: > Here is the reference to NIST Special Publication SP 800-52 revision > 1: > http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r1.pdf > > Abstract: > "This Special Publication provides guidance to the selection > and configuration of TLS protocol implementations while making > effective use of Federal Information Processing Stand > ards (FIPS) and NIST- recommended cryptographic algorithms, > and requires that TLS 1.1 configured with FIPS- based cipher > suites as the minimum appropriate secure transport protocol > and recommends that agencies develop migration plans to TLS > 1.2 by January 1, 2015. This Special Publication also > identifies TLS extensions for which mandatory support must be > provided and other recommended extensions." I'm still not convinced. The version of FIPS140-2 I have does not reference SP800-52. So the same argument applies. It should be FIPS documents referencing the TLS 1.0 removal requirement, not vice-versa. regards, Nikos From jonetsu at teksavvy.com Tue May 5 18:56:07 2015 From: jonetsu at teksavvy.com (jonetsu) Date: Tue, 05 May 2015 12:56:07 -0400 Subject: [gnutls-help] TLS v1.1 in GnuTLS Message-ID: <828e30cb14702f9c889ea2b4ebebf072@teksavvy.com> GnuTLS supports TLS v1.1 although none TLS1.1 is shown in the cipher list.? But it is shown as protocol.? Does this mean that there were no ciphers added at the TLS 1.1 stage (only protocol changes) and, the ciphers supported by 1.1 are already listed using a previous version ? Regards. From jonetsu at teksavvy.com Tue May 5 18:57:56 2015 From: jonetsu at teksavvy.com (jonetsu) Date: Tue, 05 May 2015 12:57:56 -0400 Subject: [gnutls-help] FIPS mode: compiling without SSL v3.0 and TLS v1.0 support ? Message-ID: <1d63f45fec3b8ace25cfc20db8d6b0bb@teksavvy.com> Hello, Is it possible, in both FIPS compilation (as a configure option ?) and behaviour, to also remove (SSL v3.0 protocol ? and) TLS 1.0 from GnuTLS without affecting any other part of the software ? Regards. From mattroisang at gmail.com Wed May 6 01:57:45 2015 From: mattroisang at gmail.com (Mat Troi) Date: Tue, 5 May 2015 16:57:45 -0700 Subject: [gnutls-help] How to turn off SSL 3.0 in older GnuTLS? Message-ID: Hi, I see that SSL 3.0 is not included in GnuTLS 3.4 by default. So my question is in GnuTLS 2.8.6, is there anyway to take it out in the "default priority list"? Thanks, Mat -------------- next part -------------- An HTML attachment was scrubbed... URL: From blaybel.2010 at hotmail.com Wed May 6 21:50:11 2015 From: blaybel.2010 at hotmail.com (Ali Blaybel) Date: Wed, 6 May 2015 22:50:11 +0300 Subject: [gnutls-help] gnutls_ext_register Message-ID: Hello really i need your help, thank you anyway if can you give me an example of how can i use this extension gnutls_ext_register and if i register this extension will become build in in gnutls (that mean i can see this extension in all example). or i need to create a client and server example like "Simple client example with X.509 certificate support" and "Echo server with X.509 authentication" and only used in these examples and how can i add this extension in these examples please see the extension overflow below and really thank you Extension Overview In order to negotiate the use of IEEE or ETSI certificate-based authentication, clients MAY include an extension of type "accepted_and_supported_certificate_type" in the extended client hello. The "extension_data" field of this extension SHALL contain a list of supported certificate types advertised by the client, where: enum { ieee(0), ets(1), x509(2), (255) } SupportedCertType; enum { ieee(0), etsi(1), x509(2), (255) } AcceptedCertType; struct { SupportedClientCertType supported_certificate_types<1..2^8-1>; AcceptedClientCertType accepted_certificate_types<1..2^8-1>; } SupportedAndAcceptedCertType; DistinguishedName certificate_authorities<0..2^16-1>; - Supported_certificate_types: A list of certificate types types that the client may support. - Accepted_certificate_types: A list of certificate types that the client may accept. - Certificate_authorities: A list of the distinguished names as described in [RFC5246]. If the TLS server is willing to accept using the extension described here, it selects one of the supported certificate types and one of the accepted certificate types and includes a certificate_authorities list in the extension described here. The CertificateRequest payload is omitted from the response. The same extension type and structure will be used for the server?s response to the extension described here. Note that a server MAY send no certificate types if it either does not have an appropriate certificate to send in response to the extension defined here or it wishes to authenticate the client using other authentication methods. The client MAY at its discretion either continue the handshake, or respond with a fatal handshake_failure alert. The end-entity certificate?s public key (and associated restrictions) has to be compatible with the certificate types listed in extension described here. At the end of the hello phase, the client generates the pre_master_secret, encrypts it under the server?s public key, and sends the result to the server. For servers aware of the extension described here but not wishing to use it, it will gracefully revert to an ordinary TLS handshake or stop the negotiation. Clients return a response along with their certificates by sending the "Certificate" message and immediately after the "ClientKeyExchange" message. The premaster secret is generated according to the cipher algorithm selected by the server in the ServerHello.cipher_suite. -------------- next part -------------- An HTML attachment was scrubbed... URL: From blaybel.2010 at hotmail.com Thu May 7 10:36:55 2015 From: blaybel.2010 at hotmail.com (Ali Blaybel) Date: Thu, 7 May 2015 11:36:55 +0300 Subject: [gnutls-help] gnutls_ext_register Message-ID: Hello really i need your help, thank you anywayIf can you give me an example of how can i use this extension gnutls_ext_register and if i register this extension will become build in in gnutls (that mean i can see this extension in all example).or i need to create a client and server example like "Simple client example with X.509 certificate support" and "Echo server with X.509 authentication"and only used in these examples and how can i add this extension in these examples please see the extension overflow below and really thank you Extension OverviewIn order to negotiate the use of IEEE or ETSI certificate-based authentication, clients MAY include an extension of type "accepted_and_supported_certificate_type" in the extended client hello. The "extension_data" field of this extension SHALL contain a list of supported certificate types advertised by the client, where:enum { ieee(0), ets(1), x509(2), (255) } SupportedCertType;enum { ieee(0), etsi(1), x509(2), (255) } AcceptedCertType;struct { SupportedClientCertType supported_certificate_types<1..2^8-1>; AcceptedClientCertType accepted_certificate_types<1..2^8-1>;} SupportedAndAcceptedCertType;DistinguishedName certificate_authorities<0..2^16-1>;- Supported_certificate_types: A list of certificate types types that the client may support.- Accepted_certificate_types: A list of certificate types that the client may accept.- Certificate_authorities: A list of the distinguished names as described in [RFC5246].If the TLS server is willing to accept using the extension described here, it selects one of the supported certificate types and one of the accepted certificate types and includes a certificate_authorities list in the extension described here. The CertificateRequest payloadis omitted from the response. The same extension type and structure will be used for the server?s response to the extension described here. Note that a server MAY send no certificate types if it eitherdoes not have an appropriate certificate to send in response to the extension defined here or it wishes to authenticate the client using other authentication methods. The client MAY at its discretioneither continue the handshake, or respond with a fatal handshake_failure alert.The end-entity certificate?s public key (and associated restrictions) has to be compatible with the certificate types listed in extension described here.At the end of the hello phase, the client generates the pre_master_secret, encrypts it under the server?s public key, and sends the result to the server.For servers aware of the extension described here but not wishing to use it, it will gracefully revert to an ordinary TLS handshake or stop the negotiation.Clients return a response along with their certificates by sending the "Certificate" message and immediately after the "ClientKeyExchange" message. The premaster secret is generatedaccording to the cipher algorithm selected by the server in the ServerHello.cipher_suite. -------------- next part -------------- An HTML attachment was scrubbed... URL: From dkg at fifthhorseman.net Fri May 8 01:47:35 2015 From: dkg at fifthhorseman.net (Daniel Kahn Gillmor) Date: Thu, 07 May 2015 19:47:35 -0400 Subject: [gnutls-help] gnutls_ext_register In-Reply-To: References: Message-ID: <87twvokl0o.fsf@alice.fifthhorseman.net> Hi Ali-- On Wed 2015-05-06 15:50:11 -0400, Ali Blaybel wrote: > if can you give me an example of how can i use this extension > gnutls_ext_register and if i register this extension will become build > in in gnutls (that mean i can see this extension in all example). I think you're asking about implementing a TLS extension in GnuTLS, but i'm not convinced that the extension you're proposing is going to be easy to implement with just gnutls_ext_register. > or i need to create a client and server example like "Simple client > example with X.509 certificate support" and "Echo server with X.509 > authentication" and only used in these examples and how can i add this > extension in these examples > > please see the extension overflow below > > and really thank you > > Extension Overview > In order to negotiate the use of IEEE or ETSI certificate-based > authentication, clients MAY include an extension of type > "accepted_and_supported_certificate_type" in the extended client > hello. The "extension_data" field of this extension SHALL contain a > list of supported certificate types advertised by the client, where: > > enum { ieee(0), ets(1), x509(2), (255) } SupportedCertType; > enum { ieee(0), etsi(1), x509(2), (255) } AcceptedCertType; > > struct { > SupportedClientCertType supported_certificate_types<1..2^8-1>; > AcceptedClientCertType accepted_certificate_types<1..2^8-1>; > } SupportedAndAcceptedCertType; > > DistinguishedName certificate_authorities<0..2^16-1>; > > - Supported_certificate_types: A list of certificate types types that the client may support. > - Accepted_certificate_types: A list of certificate types that the client may accept. > - Certificate_authorities: A list of the distinguished names as described in [RFC5246]. The above rough cut looks similar to either RFC 6091 or RFC 7250. GnuTLS already implements RFC 6091, but does not currently implement 7250, afaict. Is this a different extension you're proposing? Would it make more sense to just work with one of these frameworks and try to extend the certificate type registry? > At the end of the hello phase, the client generates the > pre_master_secret, encrypts it under the server?s public key, and > sends the result to the server. > > For servers aware of the extension described here but not wishing to > use it, it will gracefully revert to an ordinary TLS handshake or stop > the negotiation. > > Clients return a response along with their certificates by sending the > "Certificate" message and immediately after the "ClientKeyExchange" > message. The premaster secret is generated according to the cipher > algorithm selected by the server in the ServerHello.cipher_suite. The paragraphs above seem to assume that the key exchange mechanism is coupled with the certificate selection mechanism. What you've described is the RSA key exchange mechanism, which is likely to go away in future versions of TLS. For example, TLS peers can also use (EC)DHE key exchange, coupled with a certificate for the server, where the secret key from the certificate signs the server's DH share in order to authenticate itself. If this is part of your draft TLS extension, i suggest you drop this part -- if you want to add new forms of certificate, try to touch the rest of the handshake as little as possible. Regards, --dkg From mail at lechevalier.se Fri May 8 12:03:56 2015 From: mail at lechevalier.se (A L) Date: Fri, 8 May 2015 12:03:56 +0200 Subject: [gnutls-help] AICCU with GnuTLS 3.4 Message-ID: <554C8A0C.6020806@lechevalier.se> I am having troubles with compiling the IPv6 tunnel agent, AICCU with GnutLS-3.4 (works fine with 3.3). Is 3.4 incompatible with 3.3, or are there other reasons why it failes? Sample compile output: ================================= x86_64-pc-linux-gnu-gcc -O2 -pipe -fomit-frame-pointer -march=native -mtune=native -msse3 -D_GNU_SOURCE -D AICCU_CONSOLE -D AICCU_GNUTLS -D_LINUX -D HAS_IFHEAD -D AICCU_TYPE="\"linux\"" -c -o ../common/aiccu_linux.o ../common/aiccu_linux.c In file included from ../common/aiccu.h:17:0, from ../common/aiccu_linux.c:13: ../common/common.h:384:2: warning: ?gnutls_session? is deprecated [-Wdeprecated-declarations] gnutls_session session; /* The GnuTLS sesision */ ^ In file included from ../common/aiccu_linux.c:13:0: ../common/aiccu.h:114:2: warning: ?gnutls_certificate_credentials? is deprecated [-Wdeprecated-declarations] gnutls_certificate_credentials tls_cred; /* GNUTLS credentials */ ^ ../common/aiccu_linux.c: In function ?aiccu_os_install?: ../common/aiccu_linux.c:21:3: warning: ignoring return value of ?system?, declared with attribute warn_unused_result [-Wunused-result] (void)system("modprobe -q ipv6 2>/dev/null >/dev/null"); ^ ../common/aiccu_linux.c:36:2: warning: ignoring return value of ?system?, declared with attribute warn_unused_result [-Wunused-result] (void)system("modprobe -q sit 2>/dev/null >/dev/null"); ^ ../common/aiccu_linux.c:37:2: warning: ignoring return value of ?system?, declared with attribute warn_unused_result [-Wunused-result] (void)system("modprobe -q tun 2>/dev/null >/dev/null"); ^ x86_64-pc-linux-gnu-gcc -O2 -pipe -fomit-frame-pointer -march=native -mtune=native -msse3 -D_GNU_SOURCE -D AICCU_CONSOLE -D AICCU_GNUTLS -D_LINUX -D HAS_IFHEAD -D AICCU_TYPE="\"linux\"" -Wl,-O1,--sort-common,--enable-new-dtags -o aiccu main.o ../common/tun.o ../common/aiccu.o ../common/hash_md5.o ../common/hash_sha1.o ../common/common.o ../common/heartbeat.o ../common/tic.o ../common/ayiya.o ../common/aiccu_test.o ../common/resolver.o ../common/aiccu_linux.o -lgnutls -lpthread -lresolv ../common/common.o: In function `sock_alloc': common.c:(.text+0x5c7): undefined reference to `gnutls_certificate_type_set_priority' collect2: error: ld returned 1 exit status Makefile:148: recipe for target 'aiccu' failed make: *** [aiccu] Error 1 make: Leaving directory '/mnt/storageTemp/portage/portage/net-misc/aiccu-2007.01.15-r4/work/aiccu/unix-console' ================================= The source is rather old. 2007 is last update according to : https://www.sixxs.net/tools/aiccu/ ~A From marcossp at kth.se Fri May 8 14:32:48 2015 From: marcossp at kth.se (=?utf-8?B?TWFyY29zIFNpbcOzIFBpY8Oz?=) Date: Fri, 8 May 2015 12:32:48 +0000 Subject: [gnutls-help] GnuTLS-TPM handshake Message-ID: Hi all, I?m trying to set up a TLS session between client and server, both provided with a TPM and using mutual authentication. I am checking if it is feasible to do it using X.509 certificate authentication. I found out that GnuTLS needs to get access to the actual private key (either importing it from its URL or directly) by executing gnutls_certificate_set_x509_key_file(), before performing the handshake. However, it would be interesting that the private key would never leave the TPM chip. Is there any way to do it? Thanks! Marcos. -------------- next part -------------- An HTML attachment was scrubbed... URL: From nmav at gnutls.org Fri May 8 21:33:07 2015 From: nmav at gnutls.org (Nikos Mavrogiannopoulos) Date: Fri, 08 May 2015 21:33:07 +0200 Subject: [gnutls-help] GnuTLS-TPM handshake In-Reply-To: References: Message-ID: <1431113587.8093.0.camel@gnutls.org> On Fri, 2015-05-08 at 12:32 +0000, Marcos Sim? Pic? wrote: > Hi all, > I?m trying to set up a TLS session between client and server, both > provided with a TPM and using mutual authentication. I am checking if > it is feasible to do it using X.509 certificate authentication. I > found out that GnuTLS needs to get access to the actual private key > (either importing it from its URL or directly) by executing > gnutls_certificate_set_x509_key_file(), before performing the > handshake. However, it would be interesting that the private key would > never leave the TPM chip. Hello, What you say isn't correct. gnutls_certificate_set_x509_key_file() when given a tpmkey URL will utilize but not extract any key. Why do you think it would extract it? regards, Nikos From nmav at gnutls.org Fri May 8 21:37:08 2015 From: nmav at gnutls.org (Nikos Mavrogiannopoulos) Date: Fri, 08 May 2015 21:37:08 +0200 Subject: [gnutls-help] AICCU with GnuTLS 3.4 In-Reply-To: <554C8A0C.6020806@lechevalier.se> References: <554C8A0C.6020806@lechevalier.se> Message-ID: <1431113828.8093.2.camel@gnutls.org> On Fri, 2015-05-08 at 12:03 +0200, A L wrote: > I am having troubles with compiling the IPv6 tunnel agent, AICCU with > GnutLS-3.4 (works fine with 3.3). > > Is 3.4 incompatible with 3.3, or are there other reasons why it failes? > Sample compile output: > ================================= > `gnutls_certificate_type_set_priority' This function no longer exists in 3.4. If you don't use this with openpgp keys, just remove the call to gnutls_certificate_type_set_priority. regards, Nikos From mail at lechevalier.se Sat May 9 15:53:25 2015 From: mail at lechevalier.se (A L) Date: Sat, 9 May 2015 15:53:25 +0200 Subject: [gnutls-help] AICCU with GnuTLS 3.4 In-Reply-To: <1431113828.8093.2.camel@gnutls.org> References: <554C8A0C.6020806@lechevalier.se> <1431113828.8093.2.camel@gnutls.org> Message-ID: <554E1155.8020103@lechevalier.se> On 2015-05-08 21:37, Nikos Mavrogiannopoulos wrote: > On Fri, 2015-05-08 at 12:03 +0200, A L wrote: >> I am having troubles with compiling the IPv6 tunnel agent, AICCU with >> GnutLS-3.4 (works fine with 3.3). >> >> Is 3.4 incompatible with 3.3, or are there other reasons why it failes? >> Sample compile output: >> ================================= >> >> `gnutls_certificate_type_set_priority' > This function no longer exists in 3.4. If you don't use this with > openpgp keys, just remove the call to > gnutls_certificate_type_set_priority. > > regards, > Nikos That worked well. Thanks. I also filed a bug report with Gentoo (since that's what I am using) and with Sixxs. The code is rather old, so perhaps it is unmaintained. ~A From marcossp at kth.se Mon May 11 09:43:25 2015 From: marcossp at kth.se (=?utf-8?B?TWFyY29zIFNpbcOzIFBpY8Oz?=) Date: Mon, 11 May 2015 07:43:25 +0000 Subject: [gnutls-help] GnuTLS-TPM handshake In-Reply-To: <1431113587.8093.0.camel@gnutls.org> References: <1431113587.8093.0.camel@gnutls.org> Message-ID: <76941DA3-79E6-412A-9DB0-54891317B3EE@kth.se> Hello, I think the function would extract the key since the description of the function, literally says: This function can also accept URLs at keyfile and certfile . In that case it will import the private key and certificate indicated by the URLs. Note that the supported URLs are the ones indicated by gnutls_url_is_supported(). And according to the TPM literature, import the key means to extract it from the TPM and send it somewhere else. Please, correct me if I?m mistaken. Thanks for your answer Nikos. Best, Marcos On 08 May 2015, at 21:33, Nikos Mavrogiannopoulos > wrote: On Fri, 2015-05-08 at 12:32 +0000, Marcos Sim? Pic? wrote: Hi all, I?m trying to set up a TLS session between client and server, both provided with a TPM and using mutual authentication. I am checking if it is feasible to do it using X.509 certificate authentication. I found out that GnuTLS needs to get access to the actual private key (either importing it from its URL or directly) by executing gnutls_certificate_set_x509_key_file(), before performing the handshake. However, it would be interesting that the private key would never leave the TPM chip. Hello, What you say isn't correct. gnutls_certificate_set_x509_key_file() when given a tpmkey URL will utilize but not extract any key. Why do you think it would extract it? regards, Nikos -------------- next part -------------- An HTML attachment was scrubbed... URL: From nmav at gnutls.org Mon May 11 18:42:38 2015 From: nmav at gnutls.org (Nikos Mavrogiannopoulos) Date: Mon, 11 May 2015 18:42:38 +0200 Subject: [gnutls-help] GnuTLS-TPM handshake In-Reply-To: <76941DA3-79E6-412A-9DB0-54891317B3EE@kth.se> References: <1431113587.8093.0.camel@gnutls.org> <76941DA3-79E6-412A-9DB0-54891317B3EE@kth.se> Message-ID: <1431362558.1710.4.camel@gnutls.org> On Mon, 2015-05-11 at 07:43 +0000, Marcos Sim? Pic? wrote: > Hello, > I think the function would extract the key since the description of > the function, literally says: > This function can also accept URLs at keyfile and certfile . In > that case it will import the private key and certificate indicated by > the URLs. Note that the supported URLs are the ones indicated by > gnutls_url_is_supported(). > And according to the TPM literature, import the key means to extract it from the TPM and send it somewhere else. Please, correct me if I?m mistaken. The documentation is inaccurate in that case. I've corrected the wording to "it will use the ...". In any case, you cannot extract a tpmkey anyway. regards, Nikos From blaybel.2010 at hotmail.com Mon May 11 22:58:27 2015 From: blaybel.2010 at hotmail.com (Ali Blaybel) Date: Mon, 11 May 2015 23:58:27 +0300 Subject: [gnutls-help] gnutls_ext_register Message-ID: Thank MR.Daniel for your help. Mr Daniel. Currently, I don't need to add a new type of certificate I can be relied on "X509", all I need is to add new extension "accepted_and_supported_certificate_type" contain the certificates type supported by the client (just a enumeration ieee(0), ets(1), x509(2), (255)) and in the server side when receipt this extension (if it contain number 2 (that mean x509)) it continue its work normally, if not it return " Failed Handshake". Therefore. - I use the tools "gnutls-serv" as a server. - and the client example "Simple client example with X.509 certificate support" as a client - and the wireshark to see if the extension is correctly added. I tried to add the extension in the client example before the method gnutls_handshake(session) gnutls_ext_register ("SupportedAndAcceptedCertType", 777, GNUTLS_EXT_TLS, NULL,NULL, NULL, NULL, NULL);" but I don't see the extension in wireshark Please, if can you help me where can i added the function gnutls_ext_register to see it in wireshark. Thank you -------------- next part -------------- An HTML attachment was scrubbed... URL: From j.ballantine at gmail.com Fri May 15 20:44:10 2015 From: j.ballantine at gmail.com (Jim Ballantine) Date: Fri, 15 May 2015 14:44:10 -0400 Subject: [gnutls-help] gnutls and nettles-3.1 Message-ID: I'm am trying to build gnutls-3.4.1 with nettle-3.1 on a solaris 10 system, and it is failing in the configure with: checking for NETTLE... Unknown keyword 'URL' in '/usr/local/add-on/nettle/lib/pkgconfig/nettle.pc' no configure: error: *** *** Libnettle 3.1 was not found. and the nettle.pc file contains: less /usr/local/add-on/nettle/lib/pkgconfig/nettle.pc prefix=/usr/local/add-on/nettle-3.1 exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: Nettle Description: Nettle low-level cryptographic library (symmetric algorithms) URL: http://www.lysator.liu.se/~nisse/nettle Version: 3.1 Libs: -L${libdir} -lnettle Cflags: -I${includedir} Any ideas on what is going wrong here? Thanks Jim Ballantine -------------- next part -------------- An HTML attachment was scrubbed... URL: From shrutipatil326 at gmail.com Thu May 21 09:03:29 2015 From: shrutipatil326 at gmail.com (Shruti Patil) Date: Thu, 21 May 2015 12:33:29 +0530 Subject: [gnutls-help] Unable to do handshake in gnutls using x509 certificate Message-ID: Hello All, This is shruti here, I am facing some issue in hand shaking betwen server and client... I have generated cert.pem key.pem crl.pem using certtool.. I am trying with the following sample code : http://www.gnutls.org/manual/html_node/Simple-client-example-with-X_002e509-certificate-support.html#Simple-client-example-with-X_002e509-certificate-support http://www.gnutls.org/manual/html_node/Echo-server-with-X_002e509-authentication.html#Echo-server-with-X_002e509-authentication when I execute the above server and client code it displays the following message: "Handshake failed GnuTLS error: Error in the certificate. The certificate is NOT trusted. The certificate issuer is unknown. The name in the certificate does not match the expected " I'm not getting what's the issue and where it's going wrong...please help me.. Thank you in advance Best Regards, Shruti -------------- next part -------------- An HTML attachment was scrubbed... URL: From dkg at fifthhorseman.net Fri May 22 22:56:19 2015 From: dkg at fifthhorseman.net (Daniel Kahn Gillmor) Date: Fri, 22 May 2015 16:56:19 -0400 Subject: [gnutls-help] Unable to do handshake in gnutls using x509 certificate In-Reply-To: References: Message-ID: <87oalcnxfw.fsf@alice.fifthhorseman.net> On Thu 2015-05-21 03:03:29 -0400, Shruti Patil wrote: > This is shruti here, I am facing some issue in hand shaking betwen server > and client... I have generated cert.pem key.pem crl.pem using > certtool.. You haven't mentioned how you generated these files specifically. > I am trying with the following sample code : > > http://www.gnutls.org/manual/html_node/Simple-client-example-with-X_002e509-certificate-support.html#Simple-client-example-with-X_002e509-certificate-support > > http://www.gnutls.org/manual/html_node/Echo-server-with-X_002e509-authentication.html#Echo-server-with-X_002e509-authentication > > > when I execute the above server and client code it displays the following > message: > > "Handshake failed > GnuTLS error: Error in the certificate. > The certificate is NOT trusted. The certificate issuer is unknown. The name > in the certificate does not match the expected " It sounds to me like the client does not know about the server's certificate, and so it is rejecting the connection. If you make sure that the server's certificate was issued by a CA that the client knows about and trusts, that should be sufficient. what CAs does the client know about? --dkg From shrutipatil326 at gmail.com Mon May 25 09:07:59 2015 From: shrutipatil326 at gmail.com (Shruti Patil) Date: Mon, 25 May 2015 12:37:59 +0530 Subject: [gnutls-help] tls handshaking get failed Message-ID: This is shruti here, I am facing some issue in hand shaking betwen server and client... I have generated cert.pem key.pem crl.pem using certtool.. I am trying with the following sample code : http://www.gnutls.org/manual/html_node/Simple-client-example-with-X_002e509-certificate-support.html#Simple-client-example-with-X_002e509-certificate-support http://www.gnutls.org/manual/html_node/Echo-server-with-X_002e509-authentication.html#Echo-server-with-X_002e509-authentication when I execute the above server and client code it displays the following message: "Handshake failed GnuTLS error: Error in the certificate. The certificate is NOT trusted. The certificate issuer is unknown. The name in the certificate does not match the expected " I'm not getting what's the issue and where it's going wrong...please help me.. Thank you in advance Best Regards, Shruti -------------- next part -------------- An HTML attachment was scrubbed... URL: From jonetsu at teksavvy.com Wed May 27 22:35:52 2015 From: jonetsu at teksavvy.com (jonetsu) Date: Wed, 27 May 2015 16:35:52 -0400 Subject: [gnutls-help] Is AES GCM only in TLS1.2 ? Message-ID: <52fd302b207513f26082aec82847ae27@teksavvy.com> Hello, The output of the cipher listing, in FIPS mode, filtered for TLS1.2, gives: % gnutls-cli -l --priority NORMAL | grep 1.2 ?TLS_ECDHE_ECDSA_AES_128_GCM_SHA256 ?TLS_ECDHE_ECDSA_AES_256_GCM_SHA384 ?TLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256 ?TLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384 ?[...] Only GCM variation of AES. ?Why is GCM the only available AES variation in TLS1.2 ? Thanks. Regards. From dkg at fifthhorseman.net Thu May 28 00:37:32 2015 From: dkg at fifthhorseman.net (Daniel Kahn Gillmor) Date: Wed, 27 May 2015 18:37:32 -0400 Subject: [gnutls-help] Is AES GCM only in TLS1.2 ? In-Reply-To: <52fd302b207513f26082aec82847ae27@teksavvy.com> References: <52fd302b207513f26082aec82847ae27@teksavvy.com> Message-ID: <87egm1hck3.fsf@alice.fifthhorseman.net> On Wed 2015-05-27 16:35:52 -0400, jonetsu wrote: > The output of the cipher listing, in FIPS mode, filtered for TLS1.2, gives: > > % gnutls-cli -l --priority NORMAL | grep 1.2 > > ?TLS_ECDHE_ECDSA_AES_128_GCM_SHA256 > ?TLS_ECDHE_ECDSA_AES_256_GCM_SHA384 > ?TLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256 > ?TLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384 > ?[...] It appears you've trimmed the right-hand side of this transcript, where TLS1.2 actually appears. > Only GCM variation of AES. ?Why is GCM the only available AES variation in TLS1.2 ? I think you're misunderstanding the output of gnutls-cli -l, which looks like this: TLS_ECDHE_ECDSA_AES_128_GCM_SHA256 0xc0, 0x2b TLS1.2 I think this line says that the TLS_ECDHE_ECDSA_AES_128_GCM_SHA256 ciphersuite is only available for TLS 1.2 and higher (because that is when it when it was introduced). You'll note that no ciphersuites are listed with a "TLS1.1" label, despite the fact that GnuTLS will connect to a peer that only handles TLS 1.1. Similarly, there are ciphersuites marked with SSL3.0, despite the fact that GnuTLS does not support SSLv3 any longer (SSLv3 is old and known-broken[0]). These ciphersuites are listed that way because that's the protocol version in which they were introduced. hth, --dkg [0] https://tools.ietf.org/html/draft-ietf-tls-sslv3-diediedie-03 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 948 bytes Desc: not available URL: From jonetsu at teksavvy.com Thu May 28 02:28:58 2015 From: jonetsu at teksavvy.com (jonetsu at teksavvy.com) Date: Wed, 27 May 2015 20:28:58 -0400 Subject: [gnutls-help] Is AES GCM only in TLS1.2 ? In-Reply-To: <87egm1hck3.fsf@alice.fifthhorseman.net> References: <52fd302b207513f26082aec82847ae27@teksavvy.com> <87egm1hck3.fsf@alice.fifthhorseman.net> Message-ID: <20150527202858.0c5ab0fb@mevla> On Wed, 27 May 2015 18:37:32 -0400 Daniel Kahn Gillmor wrote: Thanks for your reply. > > % gnutls-cli -l --priority NORMAL | grep 1.2 > It appears you've trimmed the right-hand side of this transcript, > where TLS1.2 actually appears. Yes. The '1.2' has to be there though, in order for the grep expression to evaluate correctly and produce output. > > Only GCM variation of AES. ?Why is GCM the only available AES > > variation in TLS1.2 ? > I think this line says that the TLS_ECDHE_ECDSA_AES_128_GCM_SHA256 > ciphersuite is only available for TLS 1.2 and higher (because that is > when it when it was introduced). Yes. The concern though is not only about FIPS, but also about the recent NDcPP 1.0 in which nothing but TLS 1.2 is accepted. So I will have to modify somewhat the code so that it can recognize when to limit itself to TLS 1.2 and when to offer other versions. Depending on the operating environment. That is the background. The question actually is about AES and which variations are available when only TLS 1.2 if available. Seemingly that would be only the GCM variation, would it ? Regards. From dkg at fifthhorseman.net Thu May 28 04:21:02 2015 From: dkg at fifthhorseman.net (Daniel Kahn Gillmor) Date: Wed, 27 May 2015 22:21:02 -0400 Subject: [gnutls-help] Is AES GCM only in TLS1.2 ? In-Reply-To: <20150527202858.0c5ab0fb@mevla> References: <52fd302b207513f26082aec82847ae27@teksavvy.com> <87egm1hck3.fsf@alice.fifthhorseman.net> <20150527202858.0c5ab0fb@mevla> Message-ID: <87iobdfnn5.fsf@alice.fifthhorseman.net> On Wed 2015-05-27 20:28:58 -0400, jonetsu at teksavvy.com wrote: > That is the background. The question actually is about AES and which > variations are available when only TLS 1.2 if available. > > Seemingly that would be only the GCM variation, would it ? No, that's not correct, all of the ciphers will be available in TLS 1.2, because they are all defined for TLS 1.2. TLS 1.2 inherits all the ciphers that come from previous versions, including those ciphers introduced in SSLv3, TLSv1.0, and TLSv1.1. GCM is understood to be a more secure symmetric cipher than many of the others options, so i would recommend using it if you have the opportunity, though. --dkg From maxi1192 at gmx.de Thu May 28 13:09:06 2015 From: maxi1192 at gmx.de (=?UTF-8?Q?=22maximilian_h=C3=B6tger=22?=) Date: Thu, 28 May 2015 13:09:06 +0200 Subject: [gnutls-help] using gnutls_x509_crt_import Message-ID: An HTML attachment was scrubbed... URL: From shadiakiki1986 at gmail.com Sun May 31 00:39:24 2015 From: shadiakiki1986 at gmail.com (shadi akiki) Date: Sun, 31 May 2015 01:39:24 +0300 Subject: [gnutls-help] compiling gnutls 3.1.28 not being used by php in travis-ci workers Message-ID: Hi I'm compiling gnutls 3.1.28 from source on travis-ci to use it from php. Running "*pkg-config --modversion gnutls*" before the compilation shows 2.12.14 whereas afterwards shows 3.1.28. However, running "*var_dump(curl_version())*" as well as "*phpinfo*()" before and after the compilation show 'ssl_version'="*GnuTLS/2.12.14*" only. >From digging around, I understood that php is using /usr/lib/x86_64-linux-gnu/libgnutls.so.26 . My compiled gnutls is ending up in /usr/local/lib/libgnutls.so.28 I thought that perhaps replacing libgnutls.so.26 with a symlink to libgnutls.so.28 could be a dirty fix, but it doesn't work. Php complains: *symbol gnutls_certificate_get_x509_cas, version GNUTLS_1_4 not defined in file libgnutls.so.26 with link time reference* What do I still need to do to get php to use my compiled gnutls? Should I recompile php from source as well? Here are some files with details - Log file - .travis.yml file - Compilation bash script -- Best, Shadi AKIKI www.akikieng.com/shadi -------------- next part -------------- An HTML attachment was scrubbed... URL: