Я пытаюсь реализовать openpgp js в моем приложении, потому что мне нужно зашифровать строку с помощью ключа c publi (PGP). Я протестировал этот jsfiddle (https://jsfiddle.net/gu72bzm8/), который шифрует строку с помощью ключа publi c, он работает очень хорошо. Я даже протестировал его с разными ключами и строками.
var message = "secret message";
const encryptMessage = async() => {
if(window.crypto.getRandomValues){
if(message != ""){
const publicKeyString = document.getElementById("pubkey").innerHTML;
var options = {
message: openpgp.message.fromText(message),
publicKeys: (await openpgp.key.readArmored(publicKeyString)).keys
};
openpgp.encrypt(options).then(ciphertext => {
alert(ciphertext.data);
})
}
} else{
window.alert("This browser does not support basic cryptography!");
}
}
encryptMessage();
Однако, если я скопировал именно этот код и попытался запустить его локально (используя тот же самый cdn этого скрипта), я получил бы следующую ошибку:
Uncaught (в обещании) Ошибка: Ошибка шифрования сообщения: ключи, пароли или сеансовый ключ не предоставлены.
Как это исправить?