New answers tagged

0

Yes. If allowed by EKU. You can use a cert/key as a client cert if that is allowed within the certificate. Namely if TLS Web Client Authentication is allowed within the Extended Key Usage (EKU) section. For example: in the example.com cert it is actually allowed. (I didn't know that.) $ echo -n | openssl s_client -connect example.com:443 2>/dev/null | ...


0

Wether or not a given x509 certificate can be used for the client side of a Client authed SSL connection depends on the Key Usage and Extended Key Usage options placed on the certificate by the issuing CA. You can examine an x509 cert using openssl x509 -in certfile.pem -text The Key Usage options refer to various operations that the cert is allowed to be ...


2

I saw in that article and in many other places (including security.stackexchange), that if the user installs a certificate of an unknown 3rd party. That 3rd party can exercise MitM attacks in other apps of the device. If you install a certificate for a certificate agency (not a certificate for a site) then you effectively trust the certificate agency ...


0

One of the important detail that I discovered about exporting and importing private keys from a Windows Server Certificate Authority scenario is that it is important that the certificate request is made on the same machine where you will be importing the request. This is why there were some instances where after importing the certificate, the private key is ...


1

The Firefox error is likely the key to the issue. It looks like the cert you have been given is tied to the API implementation using a custom critical extension. The x509 spec requires users of a cert to fail the operation if they encounter an extension marked critical that they do not understand. More info in rfc 5280 Look at the problem cert with openssl ...


2

protocol HTTPS protects against connecting to false server ? It depends on what you consider a false server but given this weak phrase I would suggest the answer should be NO. Lets's see what you get with https and what you get not: You get that the browser checks if the hostname of the URL matches the certificates subject and if this certificate is ...


1

You can add - inside your app - a trusted certificate to the chain, and you can use a self-sustaining private CA. Even more I'm encouraging you to do so because of security, encode a key's checksums inside your app and verify them too.


-1

Actually, we don't We need a third party/token to be trusted, and - for censorship convinience this third piece is a certificate. When there're alot of notaries for SSL verification in projects like Perspectives - it is rudimentary to have a single central CA.


5

It's a way of managing "trust". Let's say you do business with MyBank.com. Would you want to type your account number and PIN in the clear, and let any hacker on the network view it? Probably not -- you shouldn't trust such a system. So you want to encrypt the data. Also, would you trust every web page with a pretty logo proclaiming itself to be ...


0

Check out Let's Encrypt https://letsencrypt.org (currently in beta). Let's Encrypt is a non-profit that gives out SSL certs for free, and whose goal is widespread adoption of TLS security and to ease the pain of certificate configuration by allowing automatic config and renewal. I have not used this service yet, but it sounds promising, and is sponsored by ...


0

Just to be precise, an X.509 certificate has a non-optional end of validity date, so you cannot make a standard-compliant "permanent" certificate. However, that date can be encoded as a GeneralizedTime which can encode instants up to the end of year 9999, which is far enough in the future to be considered "forever". Note that there is a binary equivalent to ...


0

If you want to parse on Windows as well you should use keyStr.replaceAll("(-+BEGIN RSA PRIVATE KEY-+\\r?\\n|-+END RSA PRIVATE KEY-+\\r?\\n?)", ""); to substitute DER string.


2

The best practice is to trust the root CA, for very practical reasons. Root CAs are a special beast and are expected to have very long lifetimes (20 years or more) because they require replacement in the client software, which is usually a manual process. Intermediate and server certificates are expected to change frequently - in some cases (load ...


1

If you want to trust any certificate issued by A or B you put these into the trust store. If you want to accept only this specific certificate as trusted than you should only add this certificate. But you are right that you get problems when the certificates gets renewed. If you just want to trust this specific certificate only but want to accept it also if ...


0

Output size of RSA encryption always equivalent to RSA key size. In your case of Sha1RSA 2048 signing, 160 bit sha1 digest is padded as per PKCS#1 padding scheme in order make input block equivalent to RSA key size and then encrypted with RSA private key which results in 2048 bit signature.


2

It is valid. See this change in the developement tree. That said, your configuration should be simplified. When using a predefined resolver, all you need is the resolver name: DNSCRYPT_PROXY_RESOLVER_NAME=dnscrypt.eu-dk It doesn't make any sense to provide the name of a predefined resolver and then manually override everything. Worse, it will break if ...


2

I'been digging in the Certificate field recently, and I know it's been a month since you asked, but I hope this helps you some way. In order to give each of your customers a certificate, You'll basically need a server with its own selfsigned Certificate. This server will "give" your customers their new Certificate. The flow would be something like this: 1) ...


7

My guess is that this site is using Server Name Indication (SNI). In this case the served certificates depends on the hostname specified in the SNI extension and will often differ if no SNI extension is used. I.e. it will be some completely different default certificate or it will be some old certificate because they only replaced the certificate used for ...


1

When you install ADCS, you get the option of generating a new key pair, or reusing an existing key pair. The sentence you quote seems to indicate the latter: You export the certificate and private key from an existing CA, as a PFX file. You import the PFX into a Windows Server 2012 machine. You install ADCS on that machine, directing it to reuse the ...


0

Using OpenSSL, this is what you would do: $ openssl req -out codesigning.csr -key private.key -new Where private.key is the existing private key. As you can see you do not generate this CSR from your certificate (public key). Also you do not generate the "same" CSR, just a new one to request a new certificate. As per your comment, if you do not have ...


2

If you are just talking about the certificate, there is no cryptographic reason to not put it under source control, as certificates are designed to be public. You still should make sure you don't leak any proprietary information in the certificate metadata, like X.509 names of privileged entities. If you think about also storing the secret key in the ...


3

OpenPGP Signatures The program outputs a small picture.sig file to the destination folder. What does this file contain? [...] But the .sig file should also contain entire certificate, or maybe a fingerprint of it. What does it contain? How does Kleopatra automatically choose the right certificate? OpenPGP signatures can contain the original ...


8

Secrets -- private keys and passwords alike -- shouldn't be stored in source control. Where possible, self-signed certs should be replaced with centrally signed certs as well. Software such as Vault facilitates distribution of secrets and most importantly rolling of them. In this way you can setup your development machines with a level of control and stay ...


0

Speaking from experience, it's commonplace to have self-signed certificates for your local machine(s) address in order to test TLS/SSL before making the investment of buying a certificate. You'll have to manually insert the certificate into the browser you'll be using to test the website if you're talking about a website connection. I would still not ...


5

Is it ok to use self-signed certificates for development, and then use the acquired one for production only? Yes, that is the way almost every one does. You don't have to pay a certification authority to certify that you are talking to your own server. Self sign it until production, buy a real certificate later. Does using self-signed certificates ...


0

You've hit on one of the fundamental problems with certificates. They are a form of authentication, but they are poor at authorization. I know who you are, but what are you allowed to sign? And do you and I agree on the definitions anyways? Over time, various bits have been hacked into X.509. Bits represent whether you can sign code, encrypt over TLS, etc. ...


1

A proxy is better for that. I think if you configure this proxy but skip the SSL cert configuration you should get your answer.


4

Why is it designed to trust all root CA to issue certs for any domain name? This has historical reasons and maybe for reasons to promote competition. At the beginning you had only a few root CA with very high prices. Now the prices are down because all CA can issue a certificate for anybody. If each CA would only be able to sign certificates for a ...


1

Sorry, per the sourcecode you can't prevent the writing of $outdir/$serial.pem and still get your (desired) -out. You could put $outdir someplace like /tmp that gets discarded frequently; or on an OS that allows you to add new filesystem types (Linux at least) you could create a filesystem type that implements a directory such that anything created in it is ...


4

Relying on DNSSEC would essentially amount to transferring our trust from the CA's to the registrars (e.g. firms like GoDaddy), the TLD's (e.g. VeriSign), and the root (e.g. ICANN). I'm not sure we can trust these entities any more than we can trust the CA's. See Moxie Marlinspike's blog post for a great write-up on this subject: ...


0

As described on the manpage for openSSL: -out filename the output file to output certificates to. The default is standard output. The certificate details will also be printed out to this file in PEM format (except that -spkac outputs DER format). So it seems this will always write the certificate in a PEM format. You could choose to write these to ...


0

Your application could store multiple certificates in its pin list. The procedure for changing the cert would then be: Some time before the certificate expires, release a new version of your app with a replacement cert in the pin list, as well as the original cert when the old certificate expires, replace it on the server - the app should then still work ...


0

I need to assume you are describing Public Key Pinning (HPKP) as documented at https://developer.mozilla.org/en/docs/Web/Security/Public_Key_Pinning (The TLS related activities are quite fast moving these days, so perhaps there's some other SSL pinning being experimented with). As described in Ricky's answer, you can pin the public key of the intermediate ...


2

I do not see any public key being "attached" into the CSR. It's there. Here's where: When you generate your key like so: $ openssl genrsa -out server.key 1024 Generating RSA private key, 1024 bit long modulus ....................................++++++ ......++++++ e is 65537 (0x10001) And you generate your CSR like so: $ openssl req -new -key ...


0

You sign a new certificate with your intermediate signing key. Specifically, what's "included in the app bundle" is your root signature verification key.


0

Q1 For public websites the most safe approach, or the only safe way is to use certificates from a trusted CA. However, in many scenarios we can use a self signed certificate to get "safe" connections with a web site. Browsers can't trust in SSC at all, but it launch a scary warning to prevent users about a posible untrusted and risky site. Q2 A server key ...


0

1) A self-signed certificate uses your key to sign itself; there is no CA involved, there is nothing to verify. The certificate will basically verify that it is matching the key but nothing more, so it serves no real verification purpose. Your browser will pop up a self-signed certificate warning, which means that the key is not certified by anyone. This ...


4

A: Authentication only. You can still do "null" encryption afterwards, if you like. But if you do non-null encryption, then you'll have an idea of who with you're doing that. That's the authentication part. -- There used to be a time when SGC, Server-Gated-Cryptography, was a thing. An extra bit in the certificate would either allow or disallow any decent ...


0

To answer Q3, Verisign's public key (actually its root certificate) is included in your web browser, along with a lot of other root certificates.


1

There is also a command-line utility: C:\> cmdkey /? Creates, displays, and deletes stored user names and passwords. The syntax of this command is: CMDKEY [{/add | /generic}:targetname {/smartcard | /user:username {/pass{:password}}} | /delete{:targetname | /ras} | /list{:targetname}] Examples: To list available credentials: cmdkey /list ...


1

..would be quite slow. Am I missing something in this protocol? You are right that this is slow and these CRLs can be really large. Therefore browsers usually don't use CRLs. Instead they use OCSP to check the status of a specific certificate or yet another mechanism like CRLsets.


2

Generally, most web servers running HTTPS do not require the client to have a certificate. If the server requires the client to authenticate, this is often done through credentials (e.g. username and password). However, the converse is generally not true - i.e. most clients DO require web servers to have a valid certificate signed by a recognized CA. It ...


5

Depends what you are doing, and what you want to verify. If you are accessing data, and want to be sure that the server which knows the corresponding private key is the one sending you data (e.g. you're accessing a web page), you don't need your own certificate. If the server wants to be able to verify that the client is a pre-defined one, which knows a ...


0

Self-signed certificates with SHA-1 signature will continue to work in the sense that http traffic between client and server will continue to be encrypted. Browsers have always flagged self-signed certificates because the certificate has not been digitally signed by a trusted Certificate Authority. Starting in June 2016 Internet Explorer will now also flag ...


2

encrypt a connection between an application server and a database I think you should just establish an IPSEC tunnel between the database server and app server. This will provide you both confidentiality and integrity. (ESP + AH) Configuration Reference


4

It is important to understand that certificates provide integrity and encryption provides confidentiality. In other words; the certificate makes sure that you are talking to who you think you are (if part of chain of trust), but it does not encrypt your connection. However integrity and confidentiality nearly always go hand-in-hand, which is why the public ...


0

If you control both servers, you donĀ“t even would really need to use certificates, just setup on each side the trusted public key for the other side and use that to stablish a SSL/TLS like connection. However, probably the easiest way of doing this is really using SSL/TLS and certificates, just because this is the only way you will be able to setup such a ...


0

Most of the time it is possible to intercept Application traffic even if you have implemented certificate pinning for Application but request should be encrypted when you have intercepted using Charles proxy. But it is possible to intercept traffic using SSLBypass, SSL Trust Killer, iOS SSL Kill Switch using proxy such as Burp.


2

The signature algorithm used for the validation of the certificate (SHA-512 in your case) is independent from the algorithm used as the HMAC in the ciphers, i.e. for the encryption (SHA-256, SHA-384 in your case).


6

Refer to the guidelines set up by the CA/Browser forum for extended validation. 8.5.1 General The CA MAY only issue EV Certificates to Applicants that meet the Private Organization, Government Entity,Business Entity and Non-Commercial Entity requirements specified below. 8.5.2 Private Organization Subjects An Applicant qualifies as a ...



Top 50 recent answers are included