Lista os objetos contidos em um slot.
Sintaxe
HSMObjList( < nSlot >, < cPass >, [ lClient ] )
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Referência |
---|
nSlot | numeric | Indica o número do slot de HSM. | X |
|
cPass | character | Indica a senha de acesso ao HSM. | X |
|
lClient | logical | Indica se o dispositivo HSM está na máquina do SmartClient. |
|
|
Retorno
Nome | Tipo | Descrição |
---|
aRet | array | Retorna um vetor com as informações dos objetos de um slot. |
Observações
Cada item de aRet representa um objeto do slot informado e contém um vetor com as seguintes informações:
Índice | Tipo | Descrição |
---|
1 | C | Label do objeto |
2 | L | Indica se o objeto é uma chave privada (.T.) ou um certificado (.F.) |
3 | N | Tamanho do ID do objeto |
4 | C | ID do objeto, em caracteres ASCII, podendo conter caracteres especiais |
- nSlot é igual ao índice 1 do valor retornado pela função HSMSlotList.
- Caso o tamanho armazenado do ID do objeto não seja maior do que 0 (zero) ou o ID armazenado do objeto seja nulo, o tamanho retornado no índice 3 será -1.
- O parâmetro lClient está disponível a partir da build 13.2.3.0.
- O valor padrão de lClient é .F..
- Caso a HSMObjList falhe ao listar os objetos do slot, o retorno será Nil.
Exemplos
user function teste()
Local aSlots := {}
Local aObjs := {}
Local nI := 0
Local cPass := ""
if HSMInitialize() <= 0
conout( "HSM not initialized" )
return
endif
aSlots := HSMSlotList()
cPass := "1234"
for nI := 1 to Len( aSlots )
if aSlots[nI][4] == .T.
ASize( aObjs, 0 )
aObjs := HSMObjList( aSlots[nI][1], cPass )
varinfo( "aObjs", aObjs )
endif
next nI
if HSMFinalize() <> 1
conout( "HSM not finalized" )
endif
return
Veja também