IIS: SSL certificate request and private key exportable - iis

I'm writing to ask for this question: when a new wildcard SSL certificate request is made from IIS (wizard), does the "private key exportable" option enabled ? Because once installed, I need to export the new certificate together with private key.
Thank you,
Luca

If you need to export the key (to install the same cert in other server for example) you need to mark private Key as exportable. Otherwise that certificate wont work in any other machine (as the key will be different) I do not think its a best practise tho.

I found a more secure way:
Generate the CSR and private key file by using openssl
Submit the CSR to public CA
Convert the certificate issued by public CA from CRT to PFX (containing the private key - not marked as exportable)
Bye,
Luca

Related

Cannot get Client Certificate to work in HTTP Action of Logic App

I am trying to add a HTTP Action that uses Client Certificate authentication to a logic App
When I specify the PFX file that I have generated, I get an error stating
The provided authentication certificate is missing the private key. The private key is required to sign the request.
I am using the portal directly not code
I do have the private key
How do I specify this?
Paul
The provided authentication certificate is missing the private key. The private key is required to sign the request.
You are receiving this error because it is missing a private key. You cannot use Client Certificates for authentication without a private key.
On the Client, the Client Certificates must have a Private Key. If absent, then the certificate is ignored. For more information on this, you can refer Here
While Client certificate Import/Export you need to check the box which will provide us the private key.
Alternate:
Sometimes .pfx gile will not work directly. Use OpenSSL to convert them to a .pem, then back to a pfx to get it to work:
openssl pkcs12 -in certificate.pfx -out certificate.pem
openssl pkcs12 -in certificate.pem -export -out certificate2.pfx
The pfx file will work within Azure logic apps when converted to a base64 string. When the pfx file is imported into the Certificates MMC try exporting again and it works.
REFERENCES:
Call service endpoints by using HTTP or HTTPS - Azure Logic Apps | Microsoft Docs
Vertifi - Digital Certificates
LogicApp: Certificate Authentication for HTTP GET Action not working · Issue #51400 · MicrosoftDocs/azure-docs (github.com)

How to use AWS ACM Private with Docker Node.js + nginx proxy?

i'm trying to use the private CA generated on AWS ACM but i dont know what to do with Certificate.pem and CertificateChain.pem that is generated.
edit: See my answer below.
To whoever see this on future:
AWS ACM Private CA doesn't support exporting private key, since it only works inside aws ecosystem.
If you want to use a SSL certificate on another host, you need to use another provider.
For importing the private key, you need to generate one from your end first, create a csr & private key before you ask for ssl certificate to the provider. Once you have the private key, you can import all three (private key, certificate & certificate chain body) to AWS ACM.

What does "signing a certificate with another certificate" mean?

I am actually reading about certificates and certificate chains. I understand that a certificate is a piece of data which is signed by the private key of an entity and can only be decrypted by using the public key of the given entity (e.g. the root CA).
However, I came across several places where it reads that a "certificate signs another certificate" (example: Microsoft Iot Edge: https://learn.microsoft.com/en-us/azure/iot-edge/iot-edge-certs?view=iotedge-2018-06)
I struggle to understand what this exactly means technically. What happens when I "sign a certificate with another certificate"? For example, if I create a intermediate certificate and sign it with the root CA's certificate, which private key is used? Is this key somehow part of the root CA's certificate (don't think so)? So what private / public keys are used if one says "this certificate signs another certificate"?
When a piece of text says signing with a certificate, it actually means signing with the private key associated with the public key stored in the certificate. The latter is rather a mouthful though, so the former is used.
So in your case, the intermediate CA's certificate is signed by the private key of the Root CA. This Root CA private key was generated along with the Root CA public key when CA was stood up. The private key is kept (extremely) private, while the public key is shared within the Root CA's certificate.

NodeJS: HTTPS Server error w/ host key (wrong tag?)

I am receiving an error when the https server starts, something along the lines of:
Error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
I may be completely going about this the wrong way. I need to get an SSL cert from a 3rd party CA. This CA requires that I give them a Certificate Signing Request (CSR) that I have generated.
I generated a CSR using certreq.exe on Windows and provided the CSR to them. They provided the public key cert in response.
Here's where I'm a little confused. The https server has a key and cert property. As I understand, cert is for the public key (from the CA) and key is for the private key. Where's this private key??
After some googling, it appears that certreq.exe will create a key pair in the windows cert store when the CSR is generated. I exported the PFX, used openssl to extract the private key, and decrypted the key so that it was in a format that had "--BEGIN RSA PRIVATE KEY.. etc". The key looks fine to me. It's formatted the same way my previous self-signed certs were formatted which worked fine.
I used this private key for the https key property and received that asn1 wrong tag error. Am I going about getting the private key the wrong way? Or is the error something else?

Creating a Digital Certificate without signing it

I have created a key-pair and now I want to bind my public key with an email id (create a digital certificate). I do not want to do the next step of signing the certificate.
Question: How can I create the digital certificate (hence bind the public key with the identity) and not really sign it for now ? (Using OpenSSL for the same would be fine).
My understanding:
Digital certificate is just packaging the public key with an
identity.
Digital signature is a CA assuring/signing the
certificate and embedding the signature in the certificate file
Or is my understanding all wrong ?
Signature is a required part of certificate. You may instead create so-called self-signed certificate, signed by your own key.
if i got your question right, you want to prepare a certificate and stop the process before the actual signing by a CA would happen ...
the thing you are looking for is a so called certificate request ...
have a look at the "openssl req" command ... for examples see http://www.openssl.org/docs/apps/req.html (examples section shows generating a new request)

Resources