Tag Info

Hot answers tagged

10

You are out of luck. A passphrase protected encrypted private key means you have to guess it and with the high entropy of a typical passphrase it will be very difficult. Granted if you have a rough idea of what the passphrase is, you can write a script to try to brute force it (e.g., it was something like 'correct battery horse __' and subject to a ...


8

As the author of the Ruby AEAD library, I can assure you that OpenSSL does support GCM on 1.0.1c. ~ $ /usr/local/bin/openssl version OpenSSL 1.0.1c 10 May 2012 ~ $ /usr/local/bin/openssl enc -help 2>&1 | grep gcm -aes-128-gcm -aes-192-gcm -aes-256-gcm If it is unavailable on your platform (OpenSSL added GCM support in 1.0.1, I believe), I have ...


8

The point of the salt is to prevent precomputation attacks, such as rainbow tables. Without a salt, anyone could just generate a huge dictionary of hashes and their associated plaintexts, and immediately crack any known hash. With the salt, such a dictionary is useless, since it's infeasible to generate such a dictionary for all possible salts. I did a ...


6

Yes, a transformation occurred: endianness... Look at the bytes 8 to 15: 7ead 14f8 3192 3f2b. That's your salt. It is a known quirk of od: it decodes data by 16-bit units, little-endian, then shows them "numerically", so this incurs an apparent byte swap. Use od -t x1 to get a nicer output. Edit: to answer your other question, what OpenSSL does is neither ...


5

The file format is different but they both encode the same kind of keys. Moreover, they are both generated with the same code: openssl (the command-line tool) is a wrapper around OpenSSL (the library), and OpenSSH actually uses OpenSSL (the library) for its cryptographic operations, including key pair generation. So there is no direct security difference. ...


5

The ecb_e_m.txt file is for "Monte Carlo Tests". These are described in the accompanying katmct.pdf file, section 4: Each Monte Carlo Test consists of four million cycles through the candidate algorithm implementation. These cycles are divided into four hundred groups of 10,000 iterations each. Each iteration consists of processing an input block through ...


5

The fact that they are constantly making changes to improve security is a good thing. It means they are keeping up with exploits and patching accordingly. This is the kind of thing you want to see in a security library. Just because a library isn't patched often, doesn't mean that they don't have any problems. It might just mean that they aren't fixing them ...


5

This command will show you the certificate (use -showcerts as an extra parameter if you want to see the full chain): openssl s_client -connect the.host.name:443 This will get the certificate and print out the public key: openssl s_client -connect the.host.name:443 | openssl x509 -pubkey -noout If you want to dig further, this question might be of ...


5

nsCertType is an old Netscape-specific extension, which was used by the Netscape browser at a time when that browser was still alive. You can forget it nowadays. The signing CA, by principle, acts in any way as it sees fit. It can put whatever it wishes in your certificate. Your certificate request is just a suggestion. You can more or less count on the CA ...


4

I have done something similar to this setup and would recommend going with a more standard X509 PKI setup over the OpenPGP. There is a little more to understand and well worth scripting if you use it often however it will fit your model. Essentially you want to create your own Certificate Authority (CA). When new applications come online they create a ...


4

Not entirely sure what you're asking; if your apps natively support a specific format, use that. Is there a specific app you'd like to ask about? If you just want a simple format for apps you're writing, the OpenSSH format is nice and simple (and widely used / supported). Also X.509 certificates are a little more complicated, but also widely supported, ...


4

Usage of the openssl enc command-line option is described there. Below, I will answer your question, but don't forget to have a look at the last part of my text, where I take a look at what happens under the hood. It is... instructive. OpenSSL uses a salted key derivation algorithm. The salt is a piece of random bytes which are generated when encrypting, ...


4

No extension is strictly necessary in the SSL server certificate, but some extensions can only help: An Authority Key Identifier extension will help clients link the certificate with the issuing CA. A CRL Distribution Points extension (non critical) should be used to point to the URL where the CRL should be found. An Authority Information Access extension ...


4

What you're talking about, essentially, is DRM. If you provide the user with the data you're trying to protect in any unencrypted form, they have the data and can make copies. It's on their machine, you've given it to them. If you use AES, or any form of symmetric cryptosystem an attacker can reverse-engineer your application and discover the key. If the ...


4

OpenSSL uses the salt in combination with the password to generate two values: the IV, and the actual encryption key. The encryption key must be derived from the password and whatever data is present in the file header (because we want to be able to decrypt the file with knowledge of the password only). However, we do not want to get the exact same key ...


4

You are missing a bit here. ssh-keygen can be used to convert public keys from SSH formats in to PEM formats suitable for OpenSSL. Private keys are normally already stored in a PEM format suitable for both. However, the OpenSSL command you show generates a self-signed certificate. This certificate is not something OpenSSH traditionally uses for anything - ...


4

There is a standard for GCM. Hopefully, OpenSSL follows the standard correctly. Since: there is a standard for using GCM in SSL/TLS; OpenSSL supports GCM in TLS since version 1.0.1 (see the ChangeLog); GnuTLS also supports GCM in TLS; OpenSSL and GnuTLS appear to be able to talk to each other; then chances are that both OpenSSL and GnuTLS implemented GCM ...


4

Start with saving the three parts respectively to pub.b64, priv.b64 and blob.b64: $ base64 -d < pub.b64 | openssl asn1parse -inform DER -i 0:d=0 hl=3 l= 158 cons: SEQUENCE 3:d=1 hl=2 l= 13 cons: SEQUENCE 5:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption 16:d=2 hl=2 l= 0 prim: NULL 18:d=1 hl=3 l= 140 prim: BIT ...


3

There is a lot of variability in SSL/TLS; for instance, when data must be sent, it is split over one or several records, and the implementation is free to choose the size of each record as it sees fit (within the standard size constraints). Modern implementations, in particular, tend to make a few very short records (with 0 or 1 byte of application data) as ...


3

This depends if you use a Apache or IIS webserver. If you use apache, just copy the private and the public key on the second server and configure it like described here http://tud.at/programm/apache-ssl-win32-howto.php3 If you use IIS, I assume you have to export the certificate including the private key via the windows certificat store. Have a look here ...


3

See the end of this answer: what OpenSSL does to convert the passphrase into an encryption key and IV is weak, because it is just a couple invocations of MD5, which is not slow enough. There is no way to simply change that within OpenSSL (no appropriate command-line option, this is hardcoded). Pre-hashing you passphrase would not change things much. Doing a ...


3

Usually you do not upload private keys on key servers, just public keys... private keys are meant to be, well, private. No point in shouting them far and wide. OpenPGP is a standard format for messages and keys. The mathematical object which is a RSA public key (technically a list of eight integers for the private key, two integers for the public key) can ...


3

The Certificate Signing Request (CSR) is of no use once you've obtained your certificate. It's merely one of the vehicles that can be used to give the CA your public key as part of the application process, so that they can issue a certificate. You'll now be able to get the public key again from the certificate itself anyway. In fact, in this particular ...


3

For the relationships between OpenSSL and FIPS 140-2, read this documentation. The OpenSSL FIPS Object Module is a specific subset of OpenSSL, API-compatible with OpenSSL, and provided as source code. That module has gone through the long and painful administrative process of obtaining a FIPS 140-2 validation. It has achieved the "overall level: 1" (see the ...


3

In OpenSSL source code, the speed aes-256-cbc function calls AES_cbc_encrypt() which itself uses AES_encrypt(), a function from crypto/aes/aes_x86core.c. It is an obvious "classical" implementation with tables. On the other hand, with EVP, you end up in the code in crypto/evp/e_aes.c which dynamically detects whether the current CPU supports the AES-NI ...


3

If you can "expose the premaster secret", though the key exchange uses ephemeral Diffie-Hellman, then you have privileged access to either the client or the server. That's one of the points of DHE: the actual key exchange uses newly generated DH key pairs, which neither client or server stores anywhere except in its own RAM. Having a copy of the permanent ...


2

In google chrome, go to the https web page (say https://mail.google.com), click on the lock next to the URL, then click on "certificate information", click on the "Details" tab, and then find "Subject Public Key Info", which for mail.google.com says Subject Public Key Algorithm: "PKCS #1 RSA Encryption" and Subject's Public Key: Modulus (1024 bits): AF 39 ...


2

Both makecert and OpenSSL follow X.509, so they are compatible -- in theory. X.509 is extensible is various arbitrary ways, and has been extended in various arbitrary and exotic ways, so anything can happen. Practically, OpenSSL powers a lot of existing HTTPS web sites (according to these statistics, Apache powers more than 50% of all Web sites, and when ...


2

(Just re-posting the answer I gave to the cross-posted question on SO, since it's now closed.) Not really. The point of these protections is precisely to make it infeasible to recover the password. If the password wasn't too long, you might try brute force... Your best option is probably to contact your CA and ask them to re-issue a certificate with a new ...


2

For OpenSSL's command-line program (openssl enc), the algorithm chosen also picks the key size (which is why they have separate options for aes-128, aes-192 and aes-256). They just don't have this option for Blowfish. The enc program only supports a fixed number of algorithms with certain parameters. So if, for example, you want to use RC2 with a 76 bit ...



Only top voted, non community-wiki answers of a minimum length are eligible