Java API
HSM Dinamo
Loading...
Looking for...
No entries found
UserNamespacePermission.java

Example of namespace object permissions for an HSM user.

See Note on examples.
package doxy.examples;
import java.util.concurrent.TimeUnit;
import com.dinamonetworks.Dinamo;
import br.com.trueaccess.TacException;
import br.com.trueaccess.TacNDJavaLib;
public class UserNamespacePermission {
static String ip = "127.0.0.1";
static String operatorId = "master";
static String operatorPwd = "12345678";
static String userId = "user01";
static String userPwd = "12345678";
public static void main(String[] args) throws TacException, InterruptedException {
/*
* Cria usuário comum utilizando um usuário operador.
*
* */
Dinamo opUserSession = new Dinamo();
int authMask = 0;
opUserSession.openSession(ip, operatorId, operatorPwd, TacNDJavaLib.DEFAULT_PORT, false, false, true);
opUserSession.createUser(userId, userPwd, authMask);
/*
* Conecta com o usuário criado e dá permissão para o usuário
* operador.
*
* */
Dinamo userSession = new Dinamo();
String strKeyName = "key";
userSession.openSession(ip,
userId,
userPwd,
TacNDJavaLib.DEFAULT_PORT,
false, false, true);
userSession.createKey( strKeyName,
TacNDJavaLib.ALG_3DES_168,
true);
userSession.updateUserObjPermission(operatorId,
true,
true,
true,
true);
/*
* Testa acesso a chave do usuário comum usando o usuário master.
* */
opUserSession.getUserKey(userId+"/"+strKeyName);
/*
* Remove permissões.
* */
userSession.updateUserObjPermission(operatorId,
false,
false,
false,
false);
userSession.closeSession(true);
/*
* Espera para um pouco para a sessão ser fechada completamente.
*/
TimeUnit.SECONDS.sleep(1);
/*
* Remove usuário de teste.
* */
opUserSession.deleteUser(userId);
opUserSession.closeSession();
}
}