DINAMO Networks is now aDINAMO cyber security company!
Java API
HSM DINAMO
Loading...
Searching...
No entry 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();
}
}