IIS SMTP TLS encryption - iis

I enabled TLS in IIS SMTP Virtual Server with a self-signed server certificate. Made sure that the certificate has the FQDN of the server.
Checked the TLS encryption checkbox in Virtual SMTP > Properties > Delivery tab > Outbound Security.
When I try to send mail using Pickup folder in c:\inetpub\mailroot the email does not get delivered with TLS. Also, the TLS encryption checkbox becomes unchecked automatically.
Do you know what might be causing this problem?
Regards
John

I think you did the same error as me... all I wanted is my outgoing emails to be tls encrypted and remove the "gmail security warning" on my messages.
If you're using the integrated IIS SMTP service from windows server, you don't need to install any certificates to do that.
The solution IS NOT to hit the "require tls encryption" in the "Access" tab.
Instead, go to the "Delivery" tab, hit "Outbound Security", then check "TLS encryption".

Self-signed certs does not work for SMTP, that's why it's unchecked.
Worth noting that IIS SMTP can only use implicit TLS where the connection is encrypted from start and not the wide used explicit TLS where a secure connection starts after the STARTTLS command is sent.

Related

IIS Client Certificate is Not Accepting, Not getting any Certificate Prompt

In one of my applications, I enabled the configuration on IIS to accept the client certificate, by enabling like the below picture. The same configuration I did on the local IIS server and it works.
but it's not working. Any configuration that I am missing..?? At least it should prompt for the Certificate.
It will prompt the client to provide a certificate only when accessing https:
You need to check whether to access the service via https.
I think you need to install the cert in cert store in current user for the browser to show up the dialog box with list of certificates

How to make BizTalk to trust self-signed certificate negotiated through Send Port?

I have Send Port with Dynamic Solicit-Response type.
Everything needed for the Send Port is dynamically configured inside the Orchestration and Security Mode is set to Transport.
Encryption Certificate for the Send Port is not configured. (I guess IIS already handling it?)
Decryption Certificates for Host and IsolatedHost instances are also not configured. (this is the part where i believe that BizTalk will trust certificates depending on current certificates in Trusted Root Certification Authorities)
Yes, the Send Port will make request on endpoint that uses self-signed certificate.
What I tried:
I tried importing the self-signed certificate in Trusted Root Certification Authorities, Other People under Local Machine and Current User (User that owns the BizTalk host)
I tried manually setting up the Encryption certificate to use the self-signed certificate
Nothing works...
If the security mode is Transport, then the certificate that is needs will be one which contains the public key and that matches the target server. If this is a self-signed certificate then it needs to be in the Trusted Root Certification Authorities, Certificates for the BizTalk Host User.

IIS Certificate. Digicert tells me one thing, probing SSL / TLS another

I'm trying to get Jira service desk to pull mail from our server but im having certificate issues, I think.
When I try and pull mail from our server Jira pops up
SunCertPathBuilderException: unable to find valid certification path
to requested target
which seems to indicate a problem with the certificate not being trusted. So went off and grabbed a new trusted cert as the old one was self certified for "ES2010" which is the name of the server.
AFAIK the new certificate has been installed but.
It seems like *.domainname.co.uk is where the trusted cert has been issued for is taking precident over owa.domainname.co.uk.
If I goto https://www.digicert.com and check out the cert it seems ok BUT if I use the Portecle app from Jira
Examine the SSL / TLS connection on port 993 (secure imap) it shows as being issued by CN=ES2010
Can anyone kindly help?

sec_error_untrusted_issuer error when connecting gmail with proxy enabled

When I have been trying to access gmail through browser and when proxy been enabled, I have been getting "sec_error_untrusted_issuer" and can't able to proceed further. I feel this is some security implementation by gmail to not to sniff it's requests & responses. am I right? or is there something that I have to configure in proxy (fiddler/open source tools).
Also, could you please let us know the details/background on this. and how to implement this type of security feature in applications.
The error message in question simply means that the client has not been configured to trust the root certificate authority that issued the certificate it received.
One way this would happen, for instance, is if you enabled HTTPS decryption in Fiddler, but when prompted to configure Windows to trust the Fiddler Root Certificate, you chose No.

Can I use a self-signed X.509 certificate on a different HTTPS server?

I have created my SSL certificate using Selssl7.exe on server1 but used Cn as Server2 and hosted the certificate on server2. I started to get a certificate error when browsing from linux firefox saying:
This certificate is invalid, the certificate is not trusted and is self signed, the certificate is only valid for server1
But when I browse the URL from Windows IE I just get the regular error saying that it's not trusted and I can easily add it to exceptions.
Can we use self-signed certificates generated on server1 on a different servers?
You can and you may but you are pretty much undermining each and every aspect of authenticity by doing so.
A self-signed certificate is generally a problem because other users will not know this certificate in advance. So their browser dutifully issues a warning. That's why you have to pay for TLS certificates that will be recognized - they are issued by CAs whose certificates are contained in the default trust store of your browser. CAs had to pay to "be part of the club", but otherwise, anyone can create certificates. It's just the matter of being recognized by default settings.
But you open another hole by reusing a certificate that was issued for a dedicated server on a different server. TLS certificates' subject distinguished names must match the host name of the server they are deployed on. This is mandated by the TLS spec because this is the only effective measure to prevent man-in-the-middle attacks when using TLS. After you open a TLS connection to a server, your code will check whether the host name that you are connected to matches the subject DN of the server's certificate that was sent. Only if it does you can be sure to be talking to the right server.
So, in conclusion, if you reuse a server certificate on a different host, then you are severely impacting the security of TLS. It's still possible, sure, but if you cripple security to this extent, then you are probably better off using plain HTTP in the first place.

Resources