Вы можете установить переменную среды FLASK_DEBUG=1
при запуске приложения в качестве службы.
Upstart (по умолчанию в Ubuntu 14.04)
# /etc/init/uwsgiapp.conf
env FLASK_DEBUG=1
script
// upstart exec section
end script
Systemd (по умолчанию в Ubuntu 16.04). , Arch)
[Service]
Environment="FLASK_DEBUG=1"
# other parts
Supervisord
[program:flask]
environment=FLASK_DEBUG=1
Обычно журналы будут где-то в /var/log/
.
Java включает AES из поля. Rijndael является AES. Вам не нужны никакие внешние библиотеки. Вам просто нужно что-то вроде этого:
byte[] sessionKey = null; //Where you get this from is beyond the scope of this post
byte[] iv = null ; //Ditto
byte[] plaintext = null; //Whatever you want to encrypt/decrypt
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
//You can use ENCRYPT_MODE or DECRYPT_MODE
cipher.calling init(Cipher.ENCRYPT_MODE, new SecretKeySpec(sessionKey, "AES"), new IvParameterSpec(iv));
byte[] ciphertext = cipher.doFinal(plaintext);
И вот именно, для шифрования/дешифрования. При обработке больших объемов данных тогда, Вы - более обеспеченные блоки чтения, которые являются кратными числами 16 байтов и называющий обновление вместо doFinal (Вы просто называете doFinal на последнем блоке).
Для большой свободной библиотеки я настоятельно рекомендую BouncyCastle. Это активно сохраняется, высокое качество, и имеет хороший массив примеров кода. Для справочной документации необходимо будет положиться больше на генерала документы JCE.
я не могу сказать, какой библиотекой мы пользуемся для соответствия требованиям сертификации FIPS. Но существуют альтернативы CryptoJ, которые являются очень, намного более дешевы.
В целом, я рекомендовал бы генерировать новый ключ для каждого сообщения, которое Вы шифруете с симметричным шифром как Rijndael и затем шифрованием что ключ с асимметричным алгоритмом как RSA. Эти закрытые ключи могут быть сохранены в защищенной паролем, основанной на программном обеспечении базе ключей как № 12 PKCS или "JKS" Java, или, для лучшей безопасности, на аппаратном ключе "смарт-карты" или другом crypto аппаратном модуле.
javax.crypto имеет поддержку AES: http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html
Что касается безопасного хранения ключей, обычный метод должен получить ключ шифрования из ввода данных пользователем (пароль) использование криптографической хеш-функции и использовать полученный ключ для шифрования связки ключей. Или, если Вам только нужен один ключ, можно использовать сам полученный ключ.
Всегда имеют в виду, что безопасность системы непосредственно связана с силой используемой хеш-функции. Используйте криптографически безопасную хеш-функцию, наряду с солью, если это возможно, и хешируйте несколько раз (сотни времен, например).
Однако вопрос очень неопределенен.