Proper way to "update" an expired CA certificate

2022-10-26 Thread Leroy Tennison via openssl-users
and continue to use unexpired certificate/key pairs signed by the expired CA 
certificate.  I did some research and found "openssl x509 -in ca.crt -days 3650 
-out new-ca.crt -signkey ca.key" which seems to work but want to make sure 
there aren't any less-than-obvious issues i missed and that there isn't a 
better way to address the issue.  Thanks for your help.

Re: Forthcoming OpenSSL Bug Fix Release

2022-10-26 Thread Dr Paul Dale

1.1.1 is not susceptible to the CVE that is being fixed in 3.0:

   /the forthcoming release of OpenSSL version 1.1.1s that is a *bug
   fix* release/.

(highlight added).


Dr Paul Dale

On 26/10/22 22:17, Matan Giladi wrote:

Does 1.1.1s is going to include any security fix?
Can you please confirm that the critical issue found in 3.0.6 version is 
irrelevant for 1.1.1?

-Original Message-
From: openssl-announce  On Behalf Of Ing. 
Martin Koci, MBA
Sent: Tuesday, October 25, 2022 21:36
To:openssl-annou...@openssl.org;openssl-users@openssl.org;openssl-proj...@openssl.org;oss-secur...@lists.openwall.com
Subject: Forthcoming OpenSSL Bug Fix Release

Hello,

In addition to the already announced 3.0.7 release, the OpenSSL project team 
would like to announce the forthcoming release of OpenSSL version 1.1.1s that 
is a bug fix release.

This bug fix release will be made available on Tuesday 1st November 2022 
between 1300-1700 UTC too.

Yours
The OpenSSL Project Team


Email secured by Check Point
Report 
Phishing:https://mta-cnf.iaas.checkpoint.com/mta_feedback?id=b3dc9e6004806fac5adb86a1a47504d00416eb2590b631502621736f0652d7ea=3D4CC6C8CB55;48DE55E160E5;C5CEAA199888;=m

Email secured by Check Point


RE: SSL_read empty -> close?

2022-10-26 Thread Michael Wojcik via openssl-users
> From: openssl-users  On Behalf Of Felipe
> Gasper
> Sent: Wednesday, 26 October, 2022 11:15
> 
>   I’m seeing that OpenSSL 3, when it reads empty on a socket, sends some
> sort of response, e.g.:
> 
> - before read
> [pid 42417] read(7276781]>, "", 5) = 0
> [pid 42417] sendmsg(7276781]>, {msg_name=NULL, msg_namelen=0,
> msg_iov=[{iov_base="\0022", iov_len=2}], msg_iovlen=1,
> msg_control=[{cmsg_len=17, cmsg_level=SOL_TLS, cmsg_type=0x1}],
> msg_controllen=17, msg_flags=0}, 0) = -1 EPIPE (Broken pipe)
> - after read
> 
>   What is that being sent after the read()? Is there a way to disable
> it?

I'd guess it's a TLS Alert Close_notify.

When read/recv on a TCP stream socket returns 0, it means a TCP FIN has been 
received from the peer (or possibly some interfering middleman, such as a 
firewall). This indicates the peer will no longer be sending any application 
data, only at most ACKs and perhaps a RST if conversation does not go quietly 
into that good night. Since TLS requires bidirectional communications, that 
means the TLS conversation is effectively open, and the local end needs to be 
closed; and TLS requires sending a close_notify so the peer knows the 
conversation has not been truncated.

Now, the most common cause of a FIN is the peer calling close(), which means it 
can't receive that close_notify. But TCP supports half-close, and the peer 
*could have* called shutdown(, SD_SEND), indicating that it was done sending 
but still wanted to be able to receive data. So the local side has no way of 
knowing, at the point where it gets a 0 from read(), that the peer definitely 
can't see the close_notify; and thus it's still obligated by the TLS 
specification (I believe) to send it.

At any rate, that's my understanding of the requirement for sending 
close_notify - I haven't confirmed that in the RFC - and what I suspect OpenSSL 
is doing there. I could well be wrong.

If the peer *has* called close, then EPIPE is what you'd expect. Note that on 
UNIXy systems this means you should have set the disposition of SIGPIPE to 
SIG_IGN to avoid being signaled, but all well-written UNIX programs should do 
that anyway. (SIGPIPE, as Dennis Ritchie noted many years ago, was always 
intended as a failsafe for poorly-written programs that fail to check for 
errors when writing.)

-- 
Michael Wojcik


How to handle TLS alerts

2022-10-26 Thread pepone.onrez
Hi,

I'm trying to understand how to handle TLS alerts, I have set up a callback
with

SSL_CTX_set_info_callback(_ctx, ssl_info_callback);

And I can see alerts sent by the peer, does the application need to call
SSL_shutdown upon receiving
a fatal alert, or is this done automatically by the OpenSSL library?

With my testing, I see my client gets "read SSL3 alert fatal unknown CA"
after the call to SSL_connect finishes without error

Cheers,
Jose


SSL_read empty -> close?

2022-10-26 Thread Felipe Gasper
Hello,

I’m seeing that OpenSSL 3, when it reads empty on a socket, sends some 
sort of response, e.g.:

- before read
[pid 42417] read(7276781]>, "", 5) = 0
[pid 42417] sendmsg(7276781]>, {msg_name=NULL, msg_namelen=0, 
msg_iov=[{iov_base="\0022", iov_len=2}], msg_iovlen=1, 
msg_control=[{cmsg_len=17, cmsg_level=SOL_TLS, cmsg_type=0x1}], 
msg_controllen=17, msg_flags=0}, 0) = -1 EPIPE (Broken pipe)
- after read

What is that being sent after the read()? Is there a way to disable it?

Thank you!

cheers,
-Felipe Gasper


自动回复: Re: OpenSSL 1.1.1 Windows dependencies

2022-10-26 Thread kjjhh7 via openssl-users
这是一封自动回复邮件。已经收到您的来信,我会尽快回复。

Re: OpenSSL 1.1.1 Windows dependencies

2022-10-26 Thread Viktor Dukhovni
On Wed, Oct 26, 2022 at 11:50:16AM -0400, Viktor Dukhovni wrote:
> On Wed, Oct 26, 2022 at 11:15:25AM +0100, Matt Caswell wrote:
> 
> > > I'm not promising anything. But if you send me the captures I can take a 
> > > look at them.
> > 
> > I've taken a look at the captures for the working and non-working scenarios.
> > 
> > Do I understand correctly that your application is acting as the server 
> > in this setup?
> > 
> > I have compared the working and non-working captures. In both cases the 
> > ClientHello is successfully received, and the server responds with a 
> > ServerHello, Certificate, ServerKeyExchange and ServerHelloDone message. 
> > Aside from normal variations between one session and another, AFAICT, 
> > the ClientHello and the server's response messages all look identical 
> > other than the server obviously has a different Certificate. The 
> > Certificates themselves also look identical to each other other than the 
> > subject/subjectaltname being for a different server. The intermediate 
> > certs are the same in both cases.
> >
> > Following the server's ServerHelloDone the client continues with a 
> > ClientKeyExchange message in the working case. In the non-working case 
> > the the client immediately closes the TCP connection without sending any 
> > kind of alert.
> 
> See longish thread at:
> 
> https://marc.info/?l=postfix-users=166584042429636=2
> 
> which describes a remarkably similar set of symptoms observed after a
> Microsoft patch update.  Today the OP posted that a more follow-on patch
> appears to have resolved the problem.

TL;DR: progress on identifying the issue begins with:

https://marc.info/?l=postfix-users=166585652703462=2

-- 
Viktor.


自动回复: Re: OpenSSL 1.1.1 Windows dependencies

2022-10-26 Thread kjjhh7 via openssl-users
这是一封自动回复邮件。已经收到您的来信,我会尽快回复。

Re: OpenSSL 1.1.1 Windows dependencies

2022-10-26 Thread Viktor Dukhovni
On Wed, Oct 26, 2022 at 11:15:25AM +0100, Matt Caswell wrote:

> > I'm not promising anything. But if you send me the captures I can take a 
> > look at them.
> 
> I've taken a look at the captures for the working and non-working scenarios.
> 
> Do I understand correctly that your application is acting as the server 
> in this setup?
> 
> I have compared the working and non-working captures. In both cases the 
> ClientHello is successfully received, and the server responds with a 
> ServerHello, Certificate, ServerKeyExchange and ServerHelloDone message. 
> Aside from normal variations between one session and another, AFAICT, 
> the ClientHello and the server's response messages all look identical 
> other than the server obviously has a different Certificate. The 
> Certificates themselves also look identical to each other other than the 
> subject/subjectaltname being for a different server. The intermediate 
> certs are the same in both cases.
>
> Following the server's ServerHelloDone the client continues with a 
> ClientKeyExchange message in the working case. In the non-working case 
> the the client immediately closes the TCP connection without sending any 
> kind of alert.

See longish thread at:

https://marc.info/?l=postfix-users=166584042429636=2

which describes a remarkably similar set of symptoms observed after a
Microsoft patch update.  Today the OP posted that a more follow-on patch
appears to have resolved the problem.


> This really looks like a problem on the client side to me.

Yes, the client just hangs up.  A known.  Disabling session tickets on
server appears to help in some cases (for no obvious reason).  Applying
the follow-on update is a better solution if applicable.

-- 
Viktor.


I have finally figured out how to export Private Key from Fortigate firewall and successfully install Godaddy Wildcard SSL certificate in UniFi Cloud Key Gen 2 Plus Network Controller

2022-10-26 Thread Turritopsis Dohrnii Teo En Ming
Subject: I have finally figured out how to export Private Key from
Fortigate firewall and successfully install Godaddy Wildcard SSL
certificate in UniFi Cloud Key Gen 2 Plus Network Controller

Good day from Singapore,

Author: Mr. Turritopsis Dohrnii Teo En Ming
Country: Singapore
Date: 26 Oct 2022 Wednesday

I have finally figured out how to export Private Key from Fortigate
firewall and successfully install Godaddy Wildcard SSL certificate in UniFi
Cloud Key Gen 2 Plus Network Controller because I have finally found the
correct reference guides! Please refer to the following list.

Reference Guides
=

Youtube video: Ubiquiti Networks UniFi OS SSL Certificate Installation
Link: https://www.youtube.com/watch?v=WxhY71ebc9o

Guide: Extracting Private Key from FortiGate Firewall
Link:
https://infosecmonkey.com/extracting-private-key-from-fortigate-firewall/

Guide: Extracting private key from FortiGate SSL Certificates
Link:
https://www.linkedin.com/pulse/extracting-private-key-from-fortigate-ssl-kuganesan-srijeyanthan

Guide: How to decrypt an RSA private key and then use it in kyrtool to
merge the SSL certificates.
Link:
https://support.hcltechsw.com/csm?id=kb_article_article=KB0098900

Guide: How to Fix an Encrypted SSL Private Key
Link: https://serverpilot.io/docs/how-to-fix-an-encrypted-ssl-private-key/

DETAILED INSTRUCTIONS FROM TEO EN MING
===

Login to the Fortigate 201F firewall and run the following commands using
CLI.

config vpn certificate local

edit 

show full

You will see something like:

-BEGIN ENCRYPTED PRIVATE KEY-
<---snipped--->
-END ENCRYPTED PRIVATE KEY-

Save the above encrypted private key as encrypted.txt in notepad or
notepad++ in Windows Server.

Then decrypt the encrypted private key using the openssl linux command.

openssl rsa -in encrypted.txt -out plain.txt

Download and install Keystore Explorer in Windows Server.

Launch KeyStore Explorer 5.5.1.

Click Create a new KeyStore.

Click JKS.

Click OK.

Click Import Key Pair.

Click OpenSSL.

Click OK.

Uncheck Encrypted Private Key.

Browse OpenSSL Private Key File. (plain.txt)

Browse Certificate(s) File. (chain.crt generated from Godaddy Wildcard SSL
certificate)

Click Import.

Enter Alias: unifi

Click OK.

Enter New Password: aircontrolenterprise

Confirm New Password: aircontrolenterprise

Click OK.

Click OK.

Click Save.

Enter New Password: aircontrolenterprise

Confirm New Password: aircontrolenterprise

Save KeyStore As: keystore (filename without extension)

Click Save.

Launch WinSCP in Windows Server.

Transfer keystore file to /srv/unifi/data.

Browse to /data/unifi-core/config. Create backup folder.

Move default/original unifi-core.crt and unifi-core.key to above backup
folder.

Upload plain.txt to /data/unifi-core/config as unifi-core.key.

Upload chain.crt (generated from Godaddy Wildcard SSL certificate) to
/data/unifi-core/config as unifi-core.crt

Reboot UniFi Cloud Key Gen 2 Plus network controller. You MUST reboot for
it to take effect!

SUCCESS!

Browse to https://cloudkey.teo-en-ming-corp.com on your favorite web
browser. You should see a padlock icon on the browser address bar. This
means that the Wildcard SSL certificate was installed correctly.

I started doing it at 5.00 PM and completed doing it at 6.00 PM Singapore
time on 26 Oct 2022 Wednesday.

Regards,

Mr. Turritopsis Dohrnii Teo En Ming
Targeted Individual in Singapore
Blogs:
https://tdtemcerts.blogspot.com
https://tdtemcerts.wordpress.com


Re: Forthcoming OpenSSL Bug Fix Release

2022-10-26 Thread Matt Caswell




On 26/10/2022 12:17, Matan Giladi wrote:

Does 1.1.1s is going to include any security fix?


1.1.1s is a bug fix release only. There are no security fixes.


Can you please confirm that the critical issue found in 3.0.6 version is 
irrelevant for 1.1.1?


The critical issue applies to 3.0.0 - 3.0.6 only. It does not apply to 
any 1.1.1 release.


Matt




-Original Message-
From: openssl-announce  On Behalf Of Ing. 
Martin Koci, MBA
Sent: Tuesday, October 25, 2022 21:36
To: openssl-annou...@openssl.org; openssl-users@openssl.org; 
openssl-proj...@openssl.org; oss-secur...@lists.openwall.com
Subject: Forthcoming OpenSSL Bug Fix Release

Hello,

In addition to the already announced 3.0.7 release, the OpenSSL project team 
would like to announce the forthcoming release of OpenSSL version 1.1.1s that 
is a bug fix release.

This bug fix release will be made available on Tuesday 1st November 2022 
between 1300-1700 UTC too.

Yours
The OpenSSL Project Team


Email secured by Check Point
Report Phishing: 
https://mta-cnf.iaas.checkpoint.com/mta_feedback?id=b3dc9e6004806fac5adb86a1a47504d00416eb2590b631502621736f0652d7ea=3D4CC6C8CB55;48DE55E160E5;C5CEAA199888;=m

Email secured by Check Point


Re: OpenSSL 1.1.1 Windows dependencies

2022-10-26 Thread Matt Caswell




On 24/10/2022 10:17, Matt Caswell wrote:



On 22/10/2022 16:02, David Harris wrote:

On 21 Oct 2022 at 13:50, Michael Wojcik via openssl-users wrote:


That was my initial thought too, except that if it were
firewall-related, the initial port 587 connection would be blocked,
and it isn't - the failure doesn't happen until after STARTTLS has
been issued.


Not necessarily. That's true for a first-generation port-blocking
firewall, but not for a packet-inspecting one. There are organizations
which use packet-inspecting firewalls to block STARTTLS because they
enforce their own TLS termination, in order to inspect all incoming
traffic for malicious content and outgoing traffic for exfiltration.


I now have wireshark captures showing the exchanges between the working
instance and the non-working instance respectively; the problem is 
definitely

happening after STARTTLS has been issued and during the TLS handshake.
I'm not high-level enough to be able to make any sense of the 
negotiation data
though. The wireshark capture is quite short (22 items in the list) 
and I don't

mind making it available if it would be useful to anyone.


I'm not promising anything. But if you send me the captures I can take a 
look at them.


I've taken a look at the captures for the working and non-working scenarios.

Do I understand correctly that your application is acting as the server 
in this setup?


I have compared the working and non-working captures. In both cases the 
ClientHello is successfully received, and the server responds with a 
ServerHello, Certificate, ServerKeyExchange and ServerHelloDone message. 
Aside from normal variations between one session and another, AFAICT, 
the ClientHello and the server's response messages all look identical 
other than the server obviously has a different Certificate. The 
Certificates themselves also look identical to each other other than the 
subject/subjectaltname being for a different server. The intermediate 
certs are the same in both cases.


Following the server's ServerHelloDone the client continues with a 
ClientKeyExchange message in the working case. In the non-working case 
the the client immediately closes the TCP connection without sending any 
kind of alert.


This really looks like a problem on the client side to me. Or at least 
that's where attention will have to be focused for now to figure out 
what went wrong. The client side has made the decision to close the 
connection (or plausibly some middlebox has, but this seems unlikely 
given that the handshakes up until that point look virtually identical).


Is there any possibility of getting any logs from the client side to see 
why it has decided to abort the connection?


Matt