rbmanager = Saro::Dat::DatCmsManager.builder
.uri("http://localhost:8088")
.verify_only(false)
#.interval_off # disable auto sync
.interval_seconds(60)
.token("12345678901b")
.build
# manual sync
# manager.sync
plain = "Unicode 유니코드 ユニコード 万国码 يونيكود यूनिको드 Ю니код 🦄💻"
secure = "Ciphertext 암호문 暗号文 密文 Шифро텍스트 Texte chiffré Geheimtext نص مشفر सिफरपाठ 🔐"
puts "plain : " + plain
puts "secure : " + secure
# issue dat
dat = manager.issue(plain, secure)
puts "dat : " + dat
# parse dat
payload = manager.parse(dat)
payload_plain = payload.plain
payload_secure = payload.secure
puts "payload plain : " + payload_plain
puts "payload secure : " + payload_secure
assert_equal plain, payload_plain
assert_equal secure, payload_secure
rbmanager = Saro::Dat::DatManager.new
cert = [Saro::Dat::DatCertificate.new(
1,
Time.now.to_i - 10,
110,
1800,
Saro::Dat::DatSignature.generate(Saro::Dat::DatSignatureAlgorithm::HMAC_SHA512_MFS),
Saro::Dat::DatCrypto.generate(Saro::Dat::DatCryptoAlgorithm::IV_AES128_GCM)
)]
manager.import_certificates(cert)
plain = "Unicode 유니코드 ユニコード 万国码 يونيكود यूनिकोड Юникод 🦄💻"
secure = "Ciphertext 암호문 暗号文 密文 Шифротекст Texte chiffré Geheimtext نص مشفر सिफरपाठ 🔐"
dat = manager.issue(plain, secure)
puts "DAT : #{dat}"
payload = manager.parse(dat)
assert_equal plain, payload.plain
assert_equal secure, payload.secure
puts "plain : #{payload.plain}"
puts "secure: #{payload.secure}"