pcbie
New member
Ich versuche mehrere Eingabefelder in einem String zusammen zufassen und anschließend zu verschlüsseln.
Die drei Eingabefelder aname / bphone / cnachricht sollten als var message zusammengefasst werden, leider wird mir immer nur das erste Feld ausgegeben.
Hier das komplette HTML
Danke für Eure Hilfe.
Die drei Eingabefelder aname / bphone / cnachricht sollten als var message zusammengefasst werden, leider wird mir immer nur das erste Feld ausgegeben.
Javascript:
<script>
document.addEventListener('DOMContentLoaded', function() {
if (window.crypto && window.crypto.getRandomValues) {
// form ready
var aname = document.getElementById("nname");
var bphone = document.getElementById("nphone");
var cnachricht = document.getElementById("message");
var message = aname, bphone, cnachricht;
// encrypt on submit
console.log(document.forms);
document.forms[0].addEventListener("submit", function(evt) {
evt.preventDefault();
if (form.elements['message'].value == '') {
alert('Please enter a message!');
} else {
encrypt(message.value).then(function(encrypted_msg) {
form.elements['message'].value = encrypted_msg;
form.submit();
});
return true;
}
});
} else {
// not ready
document.getElementById("button").disabled = true;
window.alert("Error: Browser not supported\nReason: We need a cryptographically secure PRNG to be implemented (i.e. the window.crypto method)\nSolution: Use Chrome >= 11, Safari >= 3.1, Firefox >= 21, Opera >= 15 or IE >= 11.");
return false;
}
});
function encrypt(msg) {
if (msg.indexOf("-----BEGIN PGP MESSAGE-----") !== -1 && msg.indexOf("-----END PGP MESSAGE-----") !== -1) {
return msg;
} else {
var key = document.getElementById("pubkey").innerHTML;
var publicKey = openpgp.key.readArmored(key).keys[0];
return openpgp.encryptMessage(publicKey, msg).then(function(pgpMessage) {
return pgpMessage;
});
}
}
</script>
Hier das komplette HTML
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Contact</title>
<script src="js/openpgp.min.js" type="text/javascript"></script>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
document.addEventListener('DOMContentLoaded', function() {
if (window.crypto && window.crypto.getRandomValues) {
// form ready
var aname = document.getElementById("nname");
var bphone = document.getElementById("nphone");
var cnachricht = document.getElementById("message");
var message = aname, bphone, cnachricht;
// encrypt on submit
console.log(document.forms);
document.forms[0].addEventListener("submit", function(evt) {
evt.preventDefault();
if (form.elements['message'].value == '') {
alert('Please enter a message!');
} else {
encrypt(message.value).then(function(encrypted_msg) {
form.elements['message'].value = encrypted_msg;
form.submit();
});
return true;
}
});
} else {
// not ready
document.getElementById("button").disabled = true;
window.alert("Error: Browser not supported\nReason: We need a cryptographically secure PRNG to be implemented (i.e. the window.crypto method)\nSolution: Use Chrome >= 11, Safari >= 3.1, Firefox >= 21, Opera >= 15 or IE >= 11.");
return false;
}
});
function encrypt(msg) {
if (msg.indexOf("-----BEGIN PGP MESSAGE-----") !== -1 && msg.indexOf("-----END PGP MESSAGE-----") !== -1) {
return msg;
} else {
var key = document.getElementById("pubkey").innerHTML;
var publicKey = openpgp.key.readArmored(key).keys[0];
return openpgp.encryptMessage(publicKey, msg).then(function(pgpMessage) {
return pgpMessage;
});
}
}
</script>
<h3>Testformular</h3>
<form id="form" method="post" action="send_form.php">
<table width="450px">
<tr>
<td valign="top">
<label for="email">Ihre eMail</label>
</td>
<td valign="top">
<input type="text" name="email" style="height:18px;width:300px;">
</td>
</tr>
<tr>
<td valign="top">
<label for="subject">Betreff</label>
</td>
<td valign="top">
<input type="text" name="subject" style="height:18px;width:300px;">
</td>
</tr>
<tr>
<td colspan="2">
<p>Die nachfolgenden Eingaben werden verschlüsselt übermittelt.
</td>
</tr>
<tr>
<td valign="top">
<label for="nname">Name</label>
</td>
<td valign="top">
<input type="text" id="nname" name="nname" style="height:18px;width:300px;">
</td>
</tr>
<tr>
<td valign="top">
<label for="nphone">Telefon</label>
</td>
<td valign="top">
<input type="text" id="nphone" name="nphone" style="height:18px;width:300px;">
</td>
</tr>
<tr>
<td valign="top">
<label for="message">Nachricht</label>
</td>
<td valign="top">
<textarea id="message" name="message" style="height:150px;width:300px;"></textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit">
</td>
</tr>
</table>
</form>
<!-- your pgp public key -->
<div id="pubkey" hidden="true">
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBGVhzTEBEADFEjzJ/tCBP+FVeGgqr1xRfd9TIp1WjkgEhAiiE4HiHFw7e0Jg
aLxxm7x+lE2bKYobyxRl/bdvhP4pbl9M9HOQ91rcClG2VAzUR0jKNnIvPD0Oo2Tl
TEoMlu5C0kDu4Zp6NmXKhzsQEpewh/8FpzKfGKIgDX0kZsYJTZWsoss9YL9n/0fR
GlZuT4dAkKe8Ps0nYAbWpHzSJMjLbnWGG3ZQ3JeF/9bYUeuPZMydRfyTsqf2E/lE
ikP3qUuxBULXBdkfe3x6Nd1+8xyxdWm7s02XMMuzKd0jc3vOMQ+rLwnV2cuAWMiJ
yKCX+U2NtZA17ZbP2gq3FtN6FpsHVjhCJYwjTPOfm+hgbnwyLIoQcB35ABy4nAQS
AKsruGU66IwwhEPhCXgISNJn/1I7rF47A6yTL/OxqfBEKGrOvCdcXzZPw9HeXxcv
vG3EnmDqSil3RgFDQimH2aPDUdHGkdWNGgfO8nMiUQ8ofHo7j3grYf8qBZ8jV3K8
QuxF9DMFpulJ7ptVHA3AA9JqjMO+kRpOTbzix7wd11jTo2dcErguS1SJ/wpgUgBg
fey93HeqdI649EqcAopwyPQc+GSOCkEOiG9uhbTz9HMVRRKQkNY0FomwVsS4E/ww
KKH+CXc9+EliWP9LXDyFfWQ70QIoMWixvYKTTavZw1uVM2TPH3pCrN51lQARAQAB
zSlpdC1zdXBwb3J0ZXIubmV0IDxhZG1pbkBpdC1zdXBwb3J0ZXIubmV0PsLBhwQT
AQgAMRYhBD9YULhuQr89WxexHy5wpZUl+C9OBQJlYc0yAhsDBAsJCAcFFQgJCgsF
FgIDAQAACgkQLnCllSX4L06MThAAj8bgm+TPm4jLrRL14I+zcB5ytm4tkgXkERPg
42EEPHZEqwASPTuyexI03lSnQfrzNQPniZgpnyVsAHDuZGGDBdXW83WN0+F32kqT
vi9AaRLA0hGTV8aLN3+JzONkVuhyDG5H99FIeU5B/i+FuPfj6hKdSSHjnSHB3szD
+OYMrpslyiGmsUuu+fOJF5x8+P/gB8OhNsmTMG5+bemlcBPby6th7kRj03Z90JOU
gphNRkl1voapiYAB3OR3NfZMO0Sua2jjR9lSNDsOHxb3lcXoRhjlhomh+ORZ09Fc
kZ/TkMeTQy2tqUYOcX+/r/EmuROdd37q27eCr4X6IZB/Z9PTgUveohY46URQ9dNb
jSuds9M9rDy7ZZ7w4B1iK1w6VDvcxicdEIl6LmlSI+uPTCKF5KQ62FGLYOOE2wvU
jQR6Edna/dE6RannjoxMjopp0lkJW9LcdQ1XjNus/PP+ApZiOUqWHBCqhwqfzIO0
5XNDh474WA/6FyFAFVwxKVIGrmHUt4W7aTDfCSUYyVeZ88I7I+K+qhb5deTfqKsa
HCDA7XIu1lueZUYotLmouENEhVuFko+6tpPWVuqBNzzv3nNalhKNUSbAahn8vjip
s7qfJsSDT2XT7a+xF5tr+tleYny20Jy4LfSl+DbcF16x5q4glNYLobJlY820yxyE
AJNS84LOwU0EZWHNMwEQAOyiSB4FOu6R81ojRBekKCJAXQD0pkfPKQCHf+0ZD5bP
0ewOhGaMXDlZPFcI20BZ7YxlXFV0WvcdKadgchINNZhjOsdATX6Z9K9qyEPje59i
6VcyGJPlvta47IjUl3/8thY+IOxYpQn2PPu/o8wM4U+43V3D72W5CMZunlKqHacj
/jXdG4tbjYRUwRiq7Z7x4h/Rakx6JMl8Yoi1LMP4vK26VOJ7MzSSbQdu8WQYTkMh
ZgqWgdbZDGBPrqtUvGhsVcifrYelfM0lsJv0NwH4Ixbnse14P8Warmb5QYquoI5r
R0HBoD5BrZH1UCL+uyyYiE8H74W05mbRvIs61jOAhBbUpGl1IDFY609hpALNN6Oe
uFS+ekwD6Rhm1SJgR/K0n2O0y6BeHnsQ2pO1hljBhtzV2W40b0hc2bdDHSve0Y8h
PJoFPa79IfKu1StNanV0mvQThi3aHL0LgyVM8MoEKKQpYRhS4KmmdVd2yPtkwcrP
7V/TTHd0DxZNh4xowPKfKTDq67q8CR2jOSrqpad58jkcT4r64pbBvftk3k2DWolC
d3yB8nY9ts40FfNXHEIt4FIF7cFGqgllOp3vKVN6dwTPqkqOoCOSw44tlZ9+nHEd
CxkXNvDYGmInT3Z2Ii0NRF4GrweQotN9GrK0ih+jCGupD8Nt/UTKXqxSjCwKsfY1
ABEBAAHCwXYEGAEIACAWIQQ/WFC4bkK/PVsXsR8ucKWVJfgvTgUCZWHNNAIbDAAK
CRAucKWVJfgvTiI/D/48ZTENYGRgtcsNB2oMZAhHUqWwKDJMmjOrHrEWYClAR5do
HvcTxJJtUnpMr/nFZ+fnEcaegZL+2FQSIretu81K6kMa28Z4J1ymaBwvy1G626WV
rl5As2QfsCAMNyRKkz6esqevwbTRvd899WiXFs1ormC48B5Ocr7lJl1wafLdNNI2
Bdq7bqkNUNfUwX/SEMnrRXyRqUV2ZY5zHAQjAaZJIUh6Qzf1Yg7Y8uKzyon7XRjh
JE0Q/bxe89mzH7WbM93PsVtN5JGGXt3PZMMyNZrP1H6fPxc7JMeGl6vLrOHK7Stf
AzmX0WRVv+VnIhrNMYVcQFQ7ZyNWh/DkxkMd0P+JpklLTRvd84VgEhlvyZGZS9zY
8MO2YFT1bGkEkDgywLXyfUPh/STDQ9jtzeWtGkOVGI/s0Nw5u44UQ9VQyTlVZJft
aXbj6j3FVIov/nebL6Ih2ZfW6yCDzsrFAWvcQjI24Vbpx7/uWCEDrJwDY/eDLuZm
NlMUCeHnu+GtS+1kgVNsTzOlwdQOuJIr/n4PP9yqtDGMOJJSJXInElRtEVv0TqPd
Ugn9VojUiV8JeUgsnC3B7vVu+6aeeX9mO1ZidOrTjo4tdtJ9g7CqsyAY/FqPbfMp
gn9wlSofL2yng1lqBu1UhWe09Ey0z35njEn7Au+1tXp52Feh9eVtCqK10lV6XA==
=DFVj
-----END PGP PUBLIC KEY BLOCK-----
</div>
</body>
</html>
Danke für Eure Hilfe.