REST API  17
REST API for Luna Network HSMs
POST /api/lunasa/hsms/{hsmid}/login

POST /api/lunasa/hsms/{hsmid}/login

Logs in to the HSM.

Parameters

hsmid

The serial number of the HSM of interest.

Use: Required

JSON Schema:

   Object
   type: integer
   format: int64
   minimum: 1
   maximum: 9999999999

password

The password for authentication if password-based HSM. Optional in case of PED based HSM or Indirect login.

Use: Not Required

JSON Schema:

   Object
   type: string
   format: password
   minLength: 8
   maxLength: 255
   pattern: ^([a-zA-Z0-9_!#$%'()*+,./:=? @[]^{}~-]*)$

ped

The identifier of the PED connected to the HSM. '0' is local PED; 1 or greater is remote PED. For remote PED, ped corresponds to the PED identifier. Default mode will be local PED. Optional in case of Password based HSM or Indirect login.

Use: Not Required

JSON Schema:

   Object
   type: string
   minLength: 1
   maxLength: 1
   pattern: ^(?:$|0|1)$

role

The security function to login on the HSM. Optional in case of Indirect login.

Use: Required

JSON Schema:

   Object
   minLength: 2
   maxLength: 3
   pattern: ^(so|co|cu|lco)$

response

The response to provide to the HSM for indirect login. Optional in case of direct login.

Use: Required

JSON Schema:

   Object
   type: string
   format: byte
   description: Base64-encoded data
   minLength: 4
   maxLength: 10240
   pattern: ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{4}|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)$

Responses

204

Success

Location

"Location" is the URL to the HSM role logged onto and is returned in the server response. You can use "Location" to form a GET resource to query the HSM role.

see GET /api/lunasa/hsms/{hsmid}/roles/{roleid}


For PED-based HSMs, "Location" is the URL to the task spawned to log into the HSM.

400

FRAMEWORK_BAD_REQUEST

Returned when the input data does not conform to the required validation schema.

404

HSM does not exist.

Example Requests

Direct Login

   POST https://1.2.3.4:8443/api/lunasa/hsms/123456/login
   {
      "password": "myPassword",
      "role": "so"
   }

   POST https://1.2.3.4:8443/api/lunasa/hsms/123456/login
   {
      "ped": "0",
      "role": "so"
   }


Indirect Login

   POST
   https://1.2.3.4:8443/api/lunasa/hsms/123456/login
   {
      "response": "qlpLRuWfzCpyYkji4YguJSlpkvr9ZTq/NB5ymFPnLxc="
   }

Example Result

password-based HSM:
{'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json', 'Location': '/api/lunasa/hsms/154704/login/so/1', 'Content-Length': '2', 'Access-Control-Allow-Credentials': 'true'}

PED-based HSM
{'Access-Control-Allow-Origin': '*', 'Content-Type': 'application/json', 'Location': '/tasks/2', 'Content-Length': '712', 'Access-Control-Allow-Credentials': 'true'}

{}