CSRTool is capable of generating key-pairs based on the standard ANSI X9.62 named curves. However if you are so inclined, you can also specify your own curve parameters for the key-generation process.
CSRTool uses the following properties in the csrtool.properties file (or csrtool_<lang>_<COUNTRY>.properties file - as in csrtool_en_US.properties - if you are using a localized version of CSRTool):
csrtool.ecdsa.curve.custom.P=6277101735386680763835789423207666416083908700390324961279
csrtool.ecdsa.curve.custom.A=fffffffffffffffffffffffffffffffefffffffffffffffc
csrtool.ecdsa.curve.custom.B=64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1
csrtool.ecdsa.curve.custom.N=6277101735386680763835789423176059013767194773182842284081
csrtool.ecdsa.curve.custom.Gx=188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012
csrtool.ecdsa.curve.custom.Gy=07192b95ffc8da78631011ed6b24cdd573f977a11e794811
csrtool.ecdsa.curve.custom.H=1
csrtool.ecdsa.curve.custom.A.base=16
csrtool.ecdsa.curve.custom.B.base=16
csrtool.ecdsa.curve.custom.Gx.base=16
csrtool.ecdsa.curve.custom.Gy.base=16
csrtool.ecdsa.curve.custom.H.base=10
csrtool.ecdsa.curve.custom.N.base=10
csrtool.ecdsa.curve.custom.P.base=10You can specify your own values for the curve parameters (see
http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf for details) by either modifying the csrtool.properties file in the main distribution or by creating a csrtool.properties in your HOME directory with these properties. If you don't want to rebuild CSRTool, then you will need to unjar csrtool.jar, edit the csrtool.properties file with your parameter values, re-jar csrtool.jar with the new values and execute CSRTool. Alternatively, you can edit the property values and rebuild CSRTool (
http://www.strongauth.com/forum/index.php?topic=4.0) to create a new csrtool.jar file.
CSRTool always checks your HOME directory (usually /home/<userid> on Linux/UNIX and C:\Documents and Settings\<userid>\ on Windows) for a csrtool.properties file and uses the properties defined there (if any) before looking at the systemwide csrtool.properties file in the distribution.
The P, A, B, N, Gx, Gy and H parameters can be specified in either decimal (base 10) or hexadecimal (base 16) values. You can mix values with different bases, but no matter which base you use, you MUST specify the "base" for each parameter in the same properties file.
When using csrtool.properties in your HOME directory, you do not need to recompile CSRTool; just restarting it will read in the new values. If you use a Shell/CommandTool window to start CSRTool, the output in that window will indicate whether the parameters came from the HOME directory of the user, or from the systemwide properties file.