On 2010-04-29 11:34 PST, David Stutzman wrote:
> Sorry I keep having so many issues with EC :)
> 
> Using vfyserv from nss-3.12.6 built using mozilla-build on Vista32.
> 
> C:\usr\mozilla>vfyserv.exe -d . -p 9444 ferret.pki
> Connecting to host ferret.pki (addr 192.168.1.171) on port 9444
> Error in function PR_Write: -12286
>   - Cannot communicate securely with peer: no common encryption 
> algorithm(s).
> 
> C:\usr\mozilla>vfyserv.exe -d . -p 9444 -C :c005 ferret.pki
> Connecting to host ferret.pki (addr 192.168.1.171) on port 9444
> Error in function PR_Write: -12268
>   - Cannot connect: SSL is disabled.
> 
> Ok, the first one makes sense.  On a previous posting a little over a 
> year ago Nelson told me NSS won't enable, by default, ciphers added 
> since 3.0.  What's up with the second one?

When you use an SSL socket, first you configure it, implicitly or
explicitly.  You choose the version(s) of SSL/TLS you wish to enable, and
you choose the cipher suites you wish to enable.  When you go to actually
use the SSL socket, the ssl library goes through the list of cipher suites
you've chosen and looks to see if you have the necessary means with which
to actually implement it.

For example, if you've chosen a Diffie-Hellman cipher suite, do you have a
PKCS#11 slot that can do Diffie-Hellman key derivation?  If you've chosen
RSA, do you have a slot that can do it? If you've chosen ECDSA, do you have
a slot that can do it? If you've chosen AES 256, do you have a slot that can
do it?  If you've chosen SHA1, do you have a slot that can do it? etc.

If you're a server, it also checks to see if you have a certificate of the
necessary type for your cipher suite.  For example, if you've chosen a
cipher suite that requires a certificate with an RSA public key, do you have
a certificate with an RSA public key?  and so on.

Any cipher suite for which you don't have all the necessary support
components will be disabled, even though you've said to enable it.
When it gets all done with this process, if all the cipher suites are
disabled, it reports "SSL is disabled".

I'm guessing that's what happened to you.  You told tstclnt to enable only
one cipher suite, one that uses ECDH (not ECDHE), ECDSA, AES256 and SHA1.
If the version of Softoken that your tstclnt was using doesn't support
one or more of those algorithms, then that one cipher suite would be
disabled, and since its the only one you allowed, the SSL library would
report "SSL is disabled".

I'm guessing your program used a version of softoken that doesn't support
all the necessary EC algorithms.

> I *can* reach the server in question with my downloaded from mozilla.org 
> copy of Firefox 3.6.whatever-is-current.
> 
> Looking around it seems "SSL is disabled" has to do with ssl cert issues 
> and in the context of firefox some sites say to add exceptions.  I have 
> already added the certificate of the CA that issued the SSL cert for 
> this server to the DB and it's marked "CT,C,C".
> 
> Thanks,
> Dave

-- 
dev-tech-crypto mailing list
dev-tech-crypto@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-tech-crypto

Reply via email to