Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/6062824/tecnologia.css

Pagetitle
HSMSlotList
HSMSlotList

...

Nome

Tipo

Descrição

Obrigatório

Referência

lClient

lógicological

Indica se o dispositivo HSM está na máquina do SmartClient. 

 



Retorno

Nome

Tipo

Descrição

aRet

vetorarray

Retorna um vetor com as informações dos slots.

...

  • O parâmetro lClient está disponível a partir da build 7.00.131227A com data de geração superior a 11/03/2016.
  • O valor padrão de lClient é .F..
  • Caso a HSMSlotList falhe ao listar os slots, o retorno será Nil.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
user function teste()
  Local aSlots := {}
  
Local  if HSMInitialize() <aObjs := 0{}
  Local nI conout( "HSM not initialized" ):= 0
  Local nSlots return
  endif:= 0
  
Local  aSlotscPass := HSMSlotList()
  varinfo( "aSlots", aSlots )
  
  // pode exibir o seguinte conteúdo
  //aSlots -> ARRAY (   10) [...]
  //   aSlots[1] -> ARRAY (    7) [...]
  //        aSlots[1][1] -> N (   15) [         0.0000]
  //        aSlots[1][2] -> C (   15) [e-CPF Certisign]
  //        aSlots[1][3] -> C (   31) [Gemalto USB Smart Card Reader 0]
  //        aSlots[1][4] -> L (    3) [.T.]
  //        aSlots[1][5] -> L (    3) [.T.]
  //        aSlots[1][6] -> L (    3) [.T.]
  //        aSlots[1][7] -> L (    3) [.F.]
  //   aSlots[2] -> ARRAY (    7) [...]
  //        aSlots[2][1] -> N (   15) [         1.0000]
  //        aSlots[2][2] -> C (    0) []
  //        aSlots[2][3] -> C (    0) []
  //        aSlots[2][4] -> L (    3) [.F.]
  //        aSlots[2][5] -> L (    3) [.F.]
  //        aSlots[2][6] -> L (    3) [.F.]
  //        aSlots[2][7] -> L (    3) [.F.]
  //   aSlots[3] -> ARRAY (    7) [...]
  //        aSlots[3][1] -> N (   15) [         2.0000]
  //        aSlots[3][2] -> C (    0) []
  //        aSlots[3][3] -> C (    0) []
  //        aSlots[3][4] -> L (    3) [.F.]
  //        aSlots[3][5] -> L (    3) [.F.]
  //        aSlots[3][6] -> L (    3) [.F.]
  //        aSlots[3][7] -> L (    3) [.F.]
  //   aSlots[4] -> ARRAY (    7) [...]
  //        aSlots[4][1] -> N (   15) [         3.0000]
  //        aSlots[4][2] -> C (    0) []
  //        aSlots[4][3] -> C (    0) []
  //        aSlots[4][4] -> L (    3) [.F.]
  //        aSlots[4][5] -> L (    3) [.F.]
  //        aSlots[4][6] -> L (    3) [.F.]
  //        aSlots[4][7] -> L (    3) [.F.]
  //   aSlots[5] -> ARRAY (    7) [...]
  //        aSlots[5][1] -> N (   15) [         4.0000]
  //        aSlots[5][2] -> C (    0) []
  //        aSlots[5][3] -> C (    0) []
  //        aSlots[5][4] -> L (    3) [.F.]
  //        aSlots[5][5] -> L (    3) [.F.]
  //        aSlots[5][6] -> L (    3) [.F.]
  //        aSlots[5][7] -> L (    3) [.F.]
  //   aSlots[6] -> ARRAY (    7) [...]
  //        aSlots[6][1] -> N (   15) [         5.0000]
  //        aSlots[6][2] -> C (    0) []
  //        aSlots[6][3] -> C (    0) []
  //        aSlots[6][4] -> L (    3) [.F.]
  //        aSlots[6][5] -> L (    3) [.F.]
  //        aSlots[6][6] -> L (    3) [.F.]
  //        aSlots[6][7] -> L (    3) [.F.]
  //   aSlots[7] -> ARRAY (    7) [...]
  //        aSlots[7][1] -> N (   15) [         6.0000]
  //        aSlots[7][2] -> C (    0) []
  //        aSlots[7][3] -> C (    0) []
  //        aSlots[7][4] -> L (    3) [.F.]
  //        aSlots[7][5] -> L (    3) [.F.]
  //        aSlots[7][6] -> L (    3) [.F.]
  //        aSlots[7][7] -> L (    3) [.F.]
  //   aSlots[8] -> ARRAY (    7) [...]
  //        aSlots[8][1] -> N (   15) [         7.0000]
  //        aSlots[8][2] -> C (    0) []
  //        aSlots[8][3] -> C (    0) []
  //        aSlots[8][4] -> L (    3) [.F.]
  //        aSlots[8][5] -> L (    3) [.F.]
  //        aSlots[8][6] -> L (    3) [.F.]
  //        aSlots[8][7] -> L (    3) [.F.]
  //   aSlots[9] -> ARRAY (    7) [...]
  //        aSlots[9][1] -> N (   15) [         8.0000]
  //        aSlots[9][2] -> C (    0) []
  //        aSlots[9][3] -> C (    0) []
  //        aSlots[9][4] -> L (    3) [.F.]
  //        aSlots[9][5] -> L (    3) [.F.]
  //        aSlots[9][6] -> L (    3) [.F.]
  //        aSlots[9][7] -> L (    3) [.F.]
  //   aSlots[10] -> ARRAY (    7) [...]
  //        aSlots[10][1] -> N (   15) [         9.0000]
  //        aSlots[10][2] -> C (    0) []
  //        aSlots[10][3] -> C (    0) []
  //        aSlots[10][4] -> L (    3) [.F.]
  //        aSlots[10][5] -> L (    3) [.F.]
  //        aSlots[10][6] -> L (    3) [.F.]
  //        aSlots[10][7] -> L (    3) [.F.]
  
cPass := "1234"
   
  if HSMInitialize() <= 0
    conout( "HSM not initialized" )
    return
  endif
   
  aSlots := HSMSlotList()
  nSlots := Len( aSlots )
   
  varinfo( "slots", aSlots )
   
  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