GeneratedPrivateKey (System function)

From m204wiki
Jump to navigation Jump to search

Generate an RSA private key (System class)

[Requires Janus Network Security]

This method generates a binary string that contains a base64 encoded RSA private key.


%privateKey = %(System):GeneratedPrivateKey[( [[Length=] number], - [[Exponent=] number], - [[Salt=] string])]

Syntax terms

%privateKey A Longstring to contain the generated private key.
%(System) The class name in parentheses denotes a shared method. GeneratedPrivateKey can also be invoked by a System object variable, which may be Null.
Length This optional, name allowed, parameter specifies the number of bits in the private key. The value must be at least 64 and no greater than 4096 (as of version 7.7 of Model 204). The pre-7.7 maximum is 2048. The default is 512.
Exponent This optional, name allowed, parameter specifies the number of bits in the public exponent (E). This must be either 3 or 65537 (X'10001'). The default is 3.
Salt This optional, name allowed, parameter is a string that contains seed data for a random number generator.

Usage notes

  • GeneratedPrivateKey is available for use by Model 204 V7.5 or greater or by Janus Network Security customers.


In the following example, the GeneratedPrivateKey method loads a private key into a Longstring, and the RSAPrivateKeyToXmlDoc method converts the string to an XmlDoc from which its value is printed:

b %ls is longstring %ls = %(System):generatedPrivateKey(Length=512) %ls:RSAPrivateKeyToXmlDoc:print end

The abridged result is:

<RSAPrivateKey> <version>0</version> <modulus>706553134510188719773478...646666609227038206204678- 3048982833206545570198865800641</modulus> <publicExponent>3</publicExponent> <privateExponent>117758855751698119962246...007474103727312496471840- 79091490411449986244635754425221262047</privateExponent> <prime1>970312240057382430639696...483343374581910562955981</prime1> <primes>728170897306628332097444...175185025722775027121861</primes> <exponent1>646874826704921620426464...322228916387940375303987</exponent1> <exponent2>485447264871085554731629...116790017148516684747907</exponent2> <coefficient>293321615964898127953921...427209935179196862872503</coefficient> </RSAPrivateKey>

See also

System methods:

Stringlist methods:

String methods:

Socket methods:

HttpRequest methods:

Background information: