early openssl and curl forks that support ESNI

2019-09-04 Thread Stephen Farrell
Hiya,

We've done some work on an openssl fork [1] that has ESNI
support and on a curl fork [2] that uses that. It's early
days, but if anyone wants to try play with the build and
give us feedback that'd be great. There's a HOWTO at [3].

If you find any issues with that you'd like to raise then
please raise an issue at [1] or [2], or send mail.

Thanks,
Stephen.

[1] https://github.com/sftcd/openssl/tree/master/esnistuff
[2] https://github.com/niallor/curl
[3] https://defo.ie/building-curl-openssl-with-esni.html



0x5AB2FAF17B172BEA.asc
Description: application/pgp-keys


signature.asc
Description: OpenPGP digital signature


OPENSSL_armcap_P, OPENSSL_ia32_P, OPENSSL_ppccap_P

2019-09-04 Thread Roger No-Spam
Hi,

I'm using openssl on a platform/OS that supports multiple CPU architectures. 
The context switching does not save SIMD registers unless the thread has a 
special options set. This creates some challenges when using openssl, which use 
SIMD registers in several assembler optimizations. I would like to ensure that 
no assembler optimization can be used if the special option is not set. If the 
appropriate bits in OPENSSL_armcap_P/OPENSSL_ia32_P/OPENSSL_ppccap_P is 
disabled, will that guarantee that no instructions using SIMD registers are 
executed? There is some OPENSSL_XXXcap_P code within
#ifndef __KERNEL__
which indicates that openssl is used in the linux kernel. I believe the linux 
kernel would have a similar situation regarding SIMD registers. Floating point 
operations and operations SIMD registers cannot be used in the linux kernel. 
But I am unable to find any information that confirms that this would cover all 
code paths.

Regards Roger


OPENSSL_armcap_P, OPENSSL_ia32_P, OPENSSL_ppccap_P

2019-09-04 Thread Roger No-Spam
Hi,

I'm using openssl on a platform/OS that supports multiple CPU architectures. 
The context switching does not save SIMD registers unless the thread has a 
special options set. This creates some challenges when using openssl, which use 
SIMD registers in several assembler optimizations. I would like to ensure that 
no assembler optimization can be used if the special option is not set. If the 
appropriate bits in OPENSSL_armcap_P/OPENSSL_ia32_P/OPENSSL_ppccap_P is 
disabled, will that guarantee that no instructions using SIMD registers are 
executed? There is some OPENSSL_XXXcap_P code within
#ifndef __KERNEL__
which indicates that openssl is used in the linux kernel. I believe the linux 
kernel would have a similar situation regarding SIMD registers. Floating point 
operations and operations SIMD registers cannot be used in the linux kernel. 
But I am unable to find any information that confirms that this would cover all 
code paths.

Regards Roger



Re: [TLS] TLSv1.2 - Is zero signature allowed in client CertificateVerify message?

2019-09-04 Thread Viktor Dukhovni
> On Sep 3, 2019, at 11:27 AM, M K Saravanan  wrote:
> 
> Thanks Richard for the reply.  Let me rephrase my question:
> 
> If a client encounter any error condition (e.g. does not have access to the 
> private key for whatever reason) in generating the signature, can it send 
> zero bytes in the signature field of CertificateVerify message to indicate 
> the error condition?  Is this allowed in TLS 1.2 RFC?

There is nothing special about an all zero or any other
sequence of characters in the signature.  A signature is
either valid or not.  A client that does not possess the
private key for its certificate can decline the server's
request for a client certificate, by sending a zero-length
ClientCertificate and no ClientVerify.

-- 
Viktor.



OPENSSL_armcap_P, OPENSSL_ia32_P, OPENSSL_ppccap_P

2019-09-04 Thread Roger No-Spam
Hi,

I'm using openssl on a platform/OS that supports multiple CPU architectures. 
The context switching does not save SIMD registers unless the thread has a 
special options set. This creates some challenges when using openssl, which use 
SIMD registers in several assembler optimizations. I would like to ensure that 
no assembler optimization can be used if the special option is not set. If the 
appropriate bits in OPENSSL_armcap_P/OPENSSL_ia32_P/OPENSSL_ppccap_P is 
disabled, will that guarantee that no instructions using SIMD registers are 
executed? There is some code within
#ifndef __KERNEL__
which indicates that openssl is used in the linux kernel. I believe the linux 
kernel would have a similar situation regarding SIMD registers. Floating point 
operations and operations SIMD registers cannot be used in the linux kernel. 
But I am unable to find any information that confirms that this would cover all 
code paths.

Regards Roger


Forthcoming OpenSSL Releases

2019-09-04 Thread Matt Caswell
The OpenSSL project team would like to announce the forthcoming release
of OpenSSL versions 1.1.1d, 1.1.0l and 1.0.2t.

These releases will be made available on 10th September 2019 between
approximately 1200-1600 UTC.

These are security fix releases. The highest severity security issue fixed by
these releases is rated as LOW.

Please note that this is expected to be the last release of 1.1.0 before it goes
out of support on 11th September 2019.

Yours

The OpenSSL Project Team



signature.asc
Description: OpenPGP digital signature


RE: Compiling OpenSSL 1.1 - certs directory is empty, how to obtain?

2019-09-04 Thread Michael Wojcik
> From: openssl-users [mailto:openssl-users-boun...@openssl.org] On Behalf Of 
> Pete Cooper
> Sent: Saturday, August 24, 2019 13:10

> The `config` and subsequent `make` complete without any visible issues shown. 
> However,
> /etc/php/shared/openssl/certs is an empty directory.

> Are there OpenSSL compile flags to explicitly build or obtain the current 
> up-to-date
> *.pem files for my PHP-only OpenSSL build, or should be looking elsewhere?

I haven't seen a response to this on the list.

OpenSSL does not include a collection of trusted certificates. You need to get 
them from some other source. You may copy them from your OS distribution, for 
example.

Another popular source is the Mozilla certificate collection. Adam Langley 
wrote a Go program that converts the Mozilla collection to PEM and excludes 
those marked as untrusted; you can find it at:

   https://github.com/agl/extract-nss-root-certs

(And Go itself is available from https://golang.org, of course, if you don't 
have that installed.)

There are many opinions about what constitutes a good collection of trust 
anchors for various applications. Some people feel the collections provided 
with most OS and browser distributions are too generous, and saccrifice 
security for interoperability. If you're going to assemble a set of trust 
anchors that includes public CAs, it may be a good idea to familiarize yourself 
with the issues. Ivan Ristic's /Bulletproof SSL and TLS/ (available at 
https://feistyduck.com) has a good survey.

--
Michael Wojcik
Distinguished Engineer, Micro Focus