Пример работы с цифровой подписью

Для работы с цифровой подписью создайте приложение «DssActivity», в котором используются методы, реализованные в модуле DssAPI.

Перед созданием приложения «DssActivity»:

  1. Настройте цифровую подпись:

  1. Для пользователя API «ilm» установите DSS логин «saprun».

Приложение «DssActivity» состоит из одного экрана, области ввода текста и кнопок:

Примечание. Перед нажатием на кнопку введите идентификатор подписи «2» в область ввода текста.

Область ввода текста содержит идентификатор подписи ячейки.

Для просмотра результата работы приложения используйте интерактивный пример:

  1. Нажмите кнопку «GetCertificatesDss».

public class DssActivity extends AppCompatActivity {
   private static final String MY_URL = "http://testmasterfmp.fsight.cloud/";
   private static final VersionAPI MY_VERSION_API = VersionAPI.V_1;
   private static final String MY_ENVIRONMENT = "Leonid_environment";
   private static final String MY_PROJECT = "Leonid_project";
   private static final String MY_VERSION = "v1";
   private static final String MY_LOGIN = "Leonid";
   private static final String MY_PASSWORD = "123123";
   private static final String MY_RESOURCE = "GetBudgetPlanning";
   public static final String MY_TABLE = "ПланированиеБюджета";
   private static final String TAG = "TableStreamActivity";
   public static final String DSS_PASSWORD = "Saprun123";
   public static final String DSS_CERTIFICATE_ID = "12831";
   public static final String DSS_CERTIFICATE_PIN = "123";
 
   private HyperHive hyperHive;
   private TextView textView;
   private EditText editText;
 
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_dss);
       textView = findViewById(R.id.text_view_dss);
       editText = findViewById(R.id.edit_text_dss);
       editText.setText("1");
 
       Handler uiHandler = new Handler();
 
       hyperHive = new HyperHiveState(getApplicationContext())
               .setHostWithSchema(MY_URL)
               .setApiVersion(MY_VERSION_API)
               .setEnvironmentSlug(MY_ENVIRONMENT)
               .setProjectSlug(MY_PROJECT)
               .setVersionProject(MY_VERSION)
               .setHandler(uiHandler)
               .buildHyperHive();
       authentication();
   }
 
   public void authentication() {
       boolean status = hyperHive.authAPI.auth(MY_LOGIN, MY_PASSWORD, true).execute().isOk();
       showStatus(status);
   }
 
   public void showStatus(boolean status) {
       Log.d(TAG, "auth: " + status);
       Toast.makeText(this, "auth: " + status, Toast.LENGTH_LONG).show();
   }
 
   // Получим список доступных сертификатов
   public void getCertificatesDss(View view){
       String status = hyperHive.dssAPI
               .certificates(DSS_PASSWORD)
               .execute();
       textView.setText(status);
   }
 
   // Подпишем ячейку
   public void createSignDss(View view){
       String status = hyperHive.dssAPI.sign(MY_RESOURCE,
               MY_TABLE,
               "{}",
               "Номер",
               "1",
               DSS_PASSWORD,
               DSS_CERTIFICATE_ID,
               DSS_CERTIFICATE_PIN).execute();
       textView.setText(status);
   }
 
   // Получим список сигнатур
   public void getSignatureListDss(View view){
       String status = hyperHive.dssAPI.signs().execute();
       textView.setText(status);
   }
 
   // Удалим сигнатуру
   public void signatureDeleteDss(View view){
       long id = Long.parseLong(editText.getText().toString());
       String status = hyperHive.dssAPI.remove(id).execute();
       textView.setText(status);
   }
}

См. также:

Примеры использования Android-фреймворка