i18n: add more translations

This commit is contained in:
Vincent Breitmoser 2020-11-11 18:54:15 +01:00
parent 10162c6f88
commit 88591b39fa
18 changed files with 2308 additions and 1 deletions

453
po/hagrid/ko.po Normal file
View File

@ -0,0 +1,453 @@
#
# Translators:
# ylsun <y15un@y15un.dog>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: hagrid\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
"PO-Revision-Date: 2019-09-27 18:05+0000\n"
"Last-Translator: ylsun <y15un@y15un.dog>, 2020\n"
"Language-Team: Korean (https://www.transifex.com/otf/teams/102430/ko/)\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: src/mail.rs:107
msgctxt "Subject for verification email"
msgid "Verify {userid} for your key on {domain}"
msgstr "{domain}에 {userid} 명의로 올린 키 인증"
#: src/mail.rs:140
msgctxt "Subject for manage email"
msgid "Manage your key on {domain}"
msgstr "{domain}에 올린 내 키 관리"
#: src/gettext_strings.rs:4
msgid "Error"
msgstr "오류"
#: src/gettext_strings.rs:5
msgid "Looks like something went wrong :("
msgstr "뭔가 단단히 잘못된 모양입니다 :("
#: src/gettext_strings.rs:6
msgid "Error message: {{ internal_error }}"
msgstr "오류 내용: {{ internal_error }}"
#: src/gettext_strings.rs:7
msgid "There was an error with your request:"
msgstr "내 요청과 관련해 아래와 같은 문제가 발생했습니다:"
#: src/gettext_strings.rs:8
msgid "We found an entry for <span class=\"email\">{{ query }}</span>:"
msgstr "<span class=\"email\">{{ query }}</span>에 해당하는 키를 찾았습니다:"
#: src/gettext_strings.rs:9
msgid ""
"<strong>Hint:</strong> It's more convenient to use <span class=\"brand"
"\">keys.openpgp.org</span> from your OpenPGP software.<br /> Take a look at "
"our <a href=\"/about/usage\">usage guide</a> for details."
msgstr ""
"<strong>알아두면 좋아요:</strong> <span class=\"brand\">keys.openpgp.org</"
"span> 이용은 내 OpenPGP 소프트웨어를 통해서 하는 게 더 편하답니다.<br /> 자세"
"한 사항은 <a href=\"/about/usage\">사용 안내서</a>에서 알아보세요."
#: src/gettext_strings.rs:10
msgid "debug info"
msgstr "디버그 정보"
#: src/gettext_strings.rs:11
msgid "Search by Email Address / Key ID / Fingerprint"
msgstr "전자 메일 주소 / 키 ID / 지문으로 키를 찾아보세요"
#: src/gettext_strings.rs:12
msgid "Search"
msgstr "찾기"
#: src/gettext_strings.rs:13
msgid ""
"You can also <a href=\"/upload\">upload</a> or <a href=\"/manage\">manage</"
"a> your key."
msgstr ""
"내 키를 <a href=\"/upload\">올리</a>거나 <a href=\"/manage\">관리</a>할 수도 "
"있습니다."
#: src/gettext_strings.rs:14
msgid "Find out more <a href=\"/about\">about this service</a>."
msgstr "이 서비스에 대해 <a href=\"/about\">더 알아볼래요</a>."
#: src/gettext_strings.rs:15
msgid "News:"
msgstr "새 소식:"
#: src/gettext_strings.rs:16
msgid ""
"<a href=\"/about/news#2019-09-12-three-months-later\">Three months after "
"launch ✨</a> (2019-09-12)"
msgstr ""
"<a href=\"/about/news#2019-09-12-three-months-later\">서비스 개시 후 3개월이 "
"지났습니다 ✨</a> (2019-09-12)"
#: src/gettext_strings.rs:17
msgid "v{{ version }} built from"
msgstr "버전 {{ version }} / 빌드 커밋"
#: src/gettext_strings.rs:18
msgid "Powered by <a href=\"https://sequoia-pgp.org\">Sequoia-PGP</a>"
msgstr "<a href=\"https://sequoia-pgp.org\">Sequoia-PGP</a> 기반"
#: src/gettext_strings.rs:19
msgid ""
"Background image retrieved from <a href=\"https://www.toptal.com/designers/"
"subtlepatterns/subtle-grey/\">Subtle Patterns</a> under CC BY-SA 3.0"
msgstr ""
"배경 그림은 <a href=\"https://www.toptal.com/designers/subtlepatterns/subtle-"
"grey/\">Subtle Patterns</a>에서 가져왔고 CC BY-SA 3.0 허가서를 따릅니다"
#: src/gettext_strings.rs:20
msgid "Maintenance Mode"
msgstr "유지보수 모드"
#: src/gettext_strings.rs:21
msgid "Manage your key"
msgstr "내 키 관리"
#: src/gettext_strings.rs:22
msgid "Enter any verified email address for your key"
msgstr "내 키에 대해 인증된 전자 메일 주소를 입력하세요"
#: src/gettext_strings.rs:23
msgid "Send link"
msgstr "링크 보내기"
#: src/gettext_strings.rs:24
msgid ""
"We will send you an email with a link you can use to remove any of your "
"email addresses from search."
msgstr ""
"내 전자 메일 주소를 검색에서 지울 수 있는 링크가 담긴 전자 메일 한 통이 갈 거"
"예요."
#: src/gettext_strings.rs:25
msgid ""
"Managing the key <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{ key_fpr }}</a></span>."
msgstr ""
"<span class=\"fingerprint\"><a href=\"{{ key_link }}\" target=\"_blank"
"\">{{ key_fpr }}</a></span> 키를 관리합니다."
#: src/gettext_strings.rs:26
msgid "Your key is published with the following identity information:"
msgstr "내 키에 대해 현재 아래 명의가 함께 공개돼 있습니다:"
#: src/gettext_strings.rs:27
msgid "Delete"
msgstr "지우기"
#: src/gettext_strings.rs:28
msgid ""
"Clicking \"delete\" on any address will remove it from this key. It will no "
"longer appear in a search.<br /> To add another address, <a href=\"/upload"
"\">upload</a> the key again."
msgstr ""
"\"지우기\"를 누르면 해당 주소가 내 키에서 지워지고 검색에 나타나지 않습니다."
"<br />다른 주소를 추가하려면 이 키를 다시 <a href=\"/upload\">올리세요</a>."
#: src/gettext_strings.rs:29
msgid ""
"Your key is published as only non-identity information. (<a href=\"/about\" "
"target=\"_blank\">What does this mean?</a>)"
msgstr ""
"내 키의 비-명의 정보만 공개된 상태입니다. (<a href=\"/about\" target=\"_blank"
"\">이게 뭘 뜻하나요?</a>)"
#: src/gettext_strings.rs:30
msgid "To add an address, <a href=\"/upload\">upload</a> the key again."
msgstr "새 주소를 추가하려면 이 키를 다시 <a href=\"/upload\">올리세요</a>."
#: src/gettext_strings.rs:31
msgid ""
"We have sent an email with further instructions to <span class=\"email"
"\">{{ address }}</span>."
msgstr ""
"상세 사용 설명이 담긴 전자 메일을 <span class=\"email\">{{ address }}</span> "
"주소로 보냈습니다."
#: src/gettext_strings.rs:32
msgid "This address has already been verified."
msgstr "이 주소는 이미 인증됐습니다."
#: src/gettext_strings.rs:33
msgid ""
"Your key <span class=\"fingerprint\">{{ key_fpr }}</span> is now published "
"for the identity <a href=\"{{userid_link}}\" target=\"_blank\"><span class="
"\"email\">{{ userid }}</span></a>."
msgstr ""
"이제 <a href=\"{{userid_link}}\" target=\"_blank\"><span class=\"email"
"\">{{ userid }}</span></a> 명의가 내 <span class=\"fingerprint"
"\">{{ key_fpr }}</span> 키의 일부로 공개됩니다."
#: src/gettext_strings.rs:34
msgid "Upload your key"
msgstr "내 키 올리기"
#: src/gettext_strings.rs:35
msgid "Upload"
msgstr "올리기"
#: src/gettext_strings.rs:36
msgid ""
"Need more info? Check our <a target=\"_blank\" href=\"/about\">intro</a> and "
"<a target=\"_blank\" href=\"/about/usage\">usage guide</a>."
msgstr ""
"도움이 더 필요한가요? <a target=\"_blank\" href=\"/about\">서비스 소개</a>와 "
"<a target=\"_blank\" href=\"/about/usage\">사용 안내서</a>를 읽어보세요."
#: src/gettext_strings.rs:37
msgid ""
"You uploaded the key <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{ key_fpr }}</a></span>."
msgstr ""
"<span class=\"fingerprint\"><a href=\"{{ key_link }}\" target=\"_blank"
"\">{{ key_fpr }}</a></span> 키를 올렸습니다."
#: src/gettext_strings.rs:38
msgid "This key is revoked."
msgstr "이 키는 폐기됐습니다."
#: src/gettext_strings.rs:39
msgid ""
"It is published without identity information and can't be made available for "
"search by email address (<a href=\"/about\" target=\"_blank\">what does this "
"mean?</a>)."
msgstr ""
"명의 정보가 없는 상태로 공개됐기 때문에 이 키는 전자 메일 주소로 찾을 수 없습"
"니다. (<a href=\"/about\" target=\"_blank\">이게 뭘 뜻하나요?</a>)"
#: src/gettext_strings.rs:40
msgid ""
"This key is now published with the following identity information (<a href="
"\"/about\" target=\"_blank\">what does this mean?</a>):"
msgstr ""
"이제 다음 명의가 이 키의 일부로 함께 공개됩니다: (<a href=\"/about\" target="
"\"_blank\">이게 뭘 뜻하나요?</a>)"
#: src/gettext_strings.rs:41
msgid "Published"
msgstr "공개됨"
#: src/gettext_strings.rs:42
msgid ""
"This key is now published with only non-identity information. (<a href=\"/"
"about\" target=\"_blank\">What does this mean?</a>)"
msgstr ""
"이 키는 이제 비-명의 정보만 공개됩니다. (<a href=\"/about\" target=\"_blank"
"\">이게 뭘 뜻하나요?</a>)"
#: src/gettext_strings.rs:43
msgid ""
"To make the key available for search by email address, you can verify it "
"belongs to you:"
msgstr ""
"이 키를 전자 메일 주소로 찾을 수 있게 하려면 내가 진짜 이 주소를 가지고 있음"
"을 인증하세요:"
#: src/gettext_strings.rs:44
msgid "Verification Pending"
msgstr "인증 대기 중"
#: src/gettext_strings.rs:45
msgid ""
"<strong>Note:</strong> Some providers delay emails for up to 15 minutes to "
"prevent spam. Please be patient."
msgstr ""
"<strong>알아두기:</strong> 몇몇 서비스 제공자는 스팸 방지를 위해 최대 15분까"
"지 전자 메일 발송을 미루기도 합니다. 조금만 여유로이 기다려볼까요?"
#: src/gettext_strings.rs:46
msgid "Send Verification Email"
msgstr "인증 전자 메일 보내기"
#: src/gettext_strings.rs:47
msgid ""
"This key contains one identity that could not be parsed as an email address."
"<br /> This identity can't be published on <span class=\"brand\">keys."
"openpgp.org</span>. (<a href=\"/about/faq#non-email-uids\" target=\"_blank"
"\">Why?</a>)"
msgstr ""
"이 키에는 전자 메일 주소가 아닌 것으로 보이는 명의 하나가 포함돼 있네요.<br /"
">이런 명의는 <span class=\"brand\">keys.openpgp.org</span>에 공개할 수 없습니"
"다. (<a href=\"/about/faq#non-email-uids\" target=\"_blank\">왜죠?</a>)"
#: src/gettext_strings.rs:48
msgid ""
"This key contains {{ count_unparsed }} identities that could not be parsed "
"as an email address.<br /> These identities can't be published on <span "
"class=\"brand\">keys.openpgp.org</span>. (<a href=\"/about/faq#non-email-"
"uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"이 키에는 전자 메일 주소가 아닌 것으로 보이는 명의 {{ count_unparsed }} 개가 "
"포함돼 있네요.<br />이런 명의는 <span class=\"brand\">keys.openpgp.org</span>"
"에 공개할 수 없습니다. (<a href=\"/about/faq#non-email-uids\" target=\"_blank"
"\">왜죠?</a>)"
#: src/gettext_strings.rs:49
msgid ""
"This key contains one revoked identity, which is not published. (<a href=\"/"
"about/faq#revoked-uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"이 키에는 폐기된 명의 하나가 포함돼 있네요. 폐기된 명의는 공개하지 않습니다. "
"(<a href=\"/about/faq#revoked-uids\" target=\"_blank\">왜죠?</a>)"
#: src/gettext_strings.rs:50
msgid ""
"This key contains {{ count_revoked }} revoked identities, which are not "
"published. (<a href=\"/about/faq#revoked-uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"이 키에는 폐기된 명의 {{ count_revoked }} 개가 포함돼 있네요. 폐기된 명의는 "
"공개하지 않습니다. (<a href=\"/about/faq#revoked-uids\" target=\"_blank\">왜"
"죠?</a>)"
#: src/gettext_strings.rs:51
msgid "Your keys have been successfully uploaded:"
msgstr "내 키를 성공적으로 올렸습니다:"
#: src/gettext_strings.rs:52
msgid ""
"<strong>Note:</strong> To make keys searchable by email address, you must "
"upload them individually."
msgstr ""
"<strong>알아두기:</strong> 개별 키를 전자 메일 주소로 찾을 수 있게 하려면 각"
"각 따로 올리세요."
#: src/gettext_strings.rs:53
msgid "Verifying your email address…"
msgstr "전자 메일 주소를 인증하는 중..."
#: src/gettext_strings.rs:54
msgid ""
"If the process doesn't complete after a few seconds, please <input type="
"\"submit\" class=\"textbutton\" value=\"click here\" />."
msgstr ""
"몇 초가 지나도 이 절차가 끝나지 않는다면 <input type=\"submit\" class="
"\"textbutton\" value=\"여기를 누르세요\" />."
#: src/gettext_strings.rs:56
msgid "Manage your key on {{domain}}"
msgstr "{{domain}}에 올린 내 키 관리"
#: src/gettext_strings.rs:58
msgid "Hi,"
msgstr "안녕하세요."
#: src/gettext_strings.rs:59
msgid ""
"This is an automated message from <a href=\"{{base_uri}}\" style=\"text-"
"decoration:none; color: #333\">{{domain}}</a>."
msgstr ""
"이 메시지는 <a href=\"{{base_uri}}\" style=\"text-decoration:none; color: "
"#333\">{{domain}}</a>에서 자동으로 발송됐습니다."
#: src/gettext_strings.rs:60
msgid "If you didn't request this message, please ignore it."
msgstr "만약 직접 요청하신 게 아니라면 그냥 무시하세요."
#: src/gettext_strings.rs:61
msgid "OpenPGP key: <tt>{{primary_fp}}</tt>"
msgstr "OpenPGP 키: <tt>{{primary_fp}}</tt>"
#: src/gettext_strings.rs:62
msgid ""
"To manage and delete listed addresses on this key, please follow the link "
"below:"
msgstr "위 키에 엮인 주소를 숨기거나 하는 키 관리는 아래 링크에서 가능합니다:"
#: src/gettext_strings.rs:63
msgid ""
"You can find more info at <a href=\"{{base_uri}}/about\">{{domain}}/about</"
"a>."
msgstr ""
"더 자세한 사항은 <a href=\"{{base_uri}}/about\">{{domain}}/about</a> 페이지"
"를 참고하세요."
#: src/gettext_strings.rs:64
msgid "distributing OpenPGP keys since 2019"
msgstr "2019년 이래 OpenPGP 키 배포에 이바지하는 중"
#: src/gettext_strings.rs:67
msgid "This is an automated message from {{domain}}."
msgstr "이 메시지는 {{domain}}에서 자동으로 발송됐습니다."
#: src/gettext_strings.rs:69
msgid "OpenPGP key: {{primary_fp}}"
msgstr "OpenPGP 키: {{primary_fp}}"
#: src/gettext_strings.rs:71
msgid "You can find more info at {{base_uri}}/about"
msgstr "더 자세한 사항은 {{base_uri}}/about 페이지를 참고하세요"
#: src/gettext_strings.rs:74
msgid "Verify {{userid}} for your key on {{domain}}"
msgstr "{{domain}}에 {{userid}} 명의로 올린 키 인증"
#: src/gettext_strings.rs:80
msgid ""
"To let others find this key from your email address \"<a rel=\"nofollow\" "
"href=\"#\" style=\"text-decoration:none; color: #333\">{{userid}}</a>\", "
"please click the link below:"
msgstr ""
"다른 사람들이 내 전자 메일 주소(<a rel=\"nofollow\" href=\"#\" style=\"text-"
"decoration:none; color: #333\">{{userid}}</a>)로 위 키를 찾을 수 있게 하려면 "
"아래 링크를 따라가세요:"
#: src/gettext_strings.rs:88
msgid ""
"To let others find this key from your email address \"{{userid}}\",\n"
"please follow the link below:"
msgstr ""
"다른 사람들이 내 전자 메일 주소({{userid}})로 위 키를 찾을 수 있게 하려면\n"
"아래 링크를 따라가세요:"
#: src/web/manage.rs:103
msgid "This link is invalid or expired"
msgstr "링크가 올바르지 않거나 이미 만료됐습니다"
#: src/web/manage.rs:129
msgid "Malformed address: {address}"
msgstr "잘못된 형식의 주소: {address}"
#: src/web/manage.rs:136
msgid "No key for address: {address}"
msgstr "다음 주소와 엮인 키 없음: {address}"
#: src/web/manage.rs:152
msgid "A request has already been sent for this address recently."
msgstr "최근에 이 주소로 이미 요청이 접수됐습니다."
#: src/web/vks.rs:111
msgid "Parsing of key data failed."
msgstr "키 데이터를 해석하지 못했습니다."
#: src/web/vks.rs:120
msgid "Whoops, please don't upload secret keys!"
msgstr "아이고 맙소사! 비밀키는 올리면 안 돼요!"
#: src/web/vks.rs:133
msgid "No key uploaded."
msgstr "아무 키도 올리지 않았습니다."
#: src/web/vks.rs:177
msgid "Error processing uploaded key."
msgstr "올린 키를 처리하지 못했습니다."
#: src/web/vks.rs:247
msgid "Upload session expired. Please try again."
msgstr "올리기 세션이 만료됐습니다. 다시 해보세요."
#: src/web/vks.rs:284
msgid "Invalid verification link."
msgstr "올바르지 않은 인증 링크"

462
po/hagrid/nl.po Normal file
View File

@ -0,0 +1,462 @@
#
# Translators:
# Henk van der Helm <henk@nedwerk.net>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: hagrid\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
"PO-Revision-Date: 2019-09-27 18:05+0000\n"
"Last-Translator: Henk van der Helm <henk@nedwerk.net>, 2020\n"
"Language-Team: Dutch (https://www.transifex.com/otf/teams/102430/nl/)\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: src/mail.rs:107
msgctxt "Subject for verification email"
msgid "Verify {userid} for your key on {domain}"
msgstr "Verifieer {userid} voor uw sleutel op {domein}"
#: src/mail.rs:140
msgctxt "Subject for manage email"
msgid "Manage your key on {domain}"
msgstr "Beheer uw sleutel op {domein}"
#: src/gettext_strings.rs:4
msgid "Error"
msgstr "Fout"
#: src/gettext_strings.rs:5
msgid "Looks like something went wrong :("
msgstr "Het lijkt erop dat er iets mis is gegaan :("
#: src/gettext_strings.rs:6
msgid "Error message: {{ internal_error }}"
msgstr "Foutmelding: {{internal_error}}"
#: src/gettext_strings.rs:7
msgid "There was an error with your request:"
msgstr "Er is een fout opgetreden bij uw verzoek:"
#: src/gettext_strings.rs:8
msgid "We found an entry for <span class=\"email\">{{ query }}</span>:"
msgstr "We hebben een vermelding gevonden voor {{query}}:"
#: src/gettext_strings.rs:9
msgid ""
"<strong>Hint:</strong> It's more convenient to use <span class=\"brand"
"\">keys.openpgp.org</span> from your OpenPGP software.<br /> Take a look at "
"our <a href=\"/about/usage\">usage guide</a> for details."
msgstr ""
"<strong>Tip:</strong> het is handiger om <span class=\"brand\">keys.openpgp."
"org</span> te gebruiken vanuit uw OpenPGP-software.<br /> Bekijk onze <a "
"href=\"/about/usage\">gebruikershandleiding</a> voor meer informatie."
#: src/gettext_strings.rs:10
msgid "debug info"
msgstr "debug info"
#: src/gettext_strings.rs:11
msgid "Search by Email Address / Key ID / Fingerprint"
msgstr "Zoeken op e-mailadres / sleutel-ID / vingerafdruk"
#: src/gettext_strings.rs:12
msgid "Search"
msgstr "Zoek"
#: src/gettext_strings.rs:13
msgid ""
"You can also <a href=\"/upload\">upload</a> or <a href=\"/manage\">manage</"
"a> your key."
msgstr ""
"U kunt uw sleutel ook <a href=\"/upload\">uploaden</a> of <a href=\"/manage"
"\">beheren</a>."
#: src/gettext_strings.rs:14
msgid "Find out more <a href=\"/about\">about this service</a>."
msgstr "Lees meer over <a href=\"/about\">deze dienst</a>."
#: src/gettext_strings.rs:15
msgid "News:"
msgstr "Nieuws:"
#: src/gettext_strings.rs:16
msgid ""
"<a href=\"/about/news#2019-09-12-three-months-later\">Three months after "
"launch ✨</a> (2019-09-12)"
msgstr ""
"<a href=\"/about/news#2019-09-12-three-months-later\">Drie maanden na "
"lancering ✨</a> (12-09-2019)"
#: src/gettext_strings.rs:17
msgid "v{{ version }} built from"
msgstr "v{{version}} gebouwd van"
#: src/gettext_strings.rs:18
msgid "Powered by <a href=\"https://sequoia-pgp.org\">Sequoia-PGP</a>"
msgstr "Powered by <a href=\"https://sequoia-pgp.org\">Sequoia-PGP</a>"
#: src/gettext_strings.rs:19
msgid ""
"Background image retrieved from <a href=\"https://www.toptal.com/designers/"
"subtlepatterns/subtle-grey/\">Subtle Patterns</a> under CC BY-SA 3.0"
msgstr ""
"Achtergrondafbeelding opgehaald van <a href=\"https://www.toptal.com/"
"designers/subtlepatterns/subtle-grey/\">Subtle Patterns</a> onder CC BY-SA "
"3.0"
#: src/gettext_strings.rs:20
msgid "Maintenance Mode"
msgstr "Onderhoud"
#: src/gettext_strings.rs:21
msgid "Manage your key"
msgstr "Beheer uw sleutel"
#: src/gettext_strings.rs:22
msgid "Enter any verified email address for your key"
msgstr "Voer één van de geverifieerd e-mailadressen van uw sleutel in"
#: src/gettext_strings.rs:23
msgid "Send link"
msgstr "Stuur link"
#: src/gettext_strings.rs:24
msgid ""
"We will send you an email with a link you can use to remove any of your "
"email addresses from search."
msgstr ""
"We sturen u een e-mail met een link die u kunt gebruiken om al uw e-"
"mailadressen uit de zoekresultaten te verwijderen."
#: src/gettext_strings.rs:25
msgid ""
"Managing the key <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{ key_fpr }}</a></span>."
msgstr ""
"Beheren van de sleutel <span class=\"fingerprint\"><a href="
"\"{{ key_link }}\" target=\"_blank\"> {{key_fpr}}</a></span>."
#: src/gettext_strings.rs:26
msgid "Your key is published with the following identity information:"
msgstr "Uw sleutel wordt gepubliceerd met de volgende identiteitsgegevens:"
#: src/gettext_strings.rs:27
msgid "Delete"
msgstr "Verwijderen"
#: src/gettext_strings.rs:28
msgid ""
"Clicking \"delete\" on any address will remove it from this key. It will no "
"longer appear in a search.<br /> To add another address, <a href=\"/upload"
"\">upload</a> the key again."
msgstr ""
"Als u bij een van de adressen op \"verwijderen\" klikt, wordt het van deze "
"sleutel verwijderd. Het wordt niet langer weergegeven in een zoekopdracht."
"<br /> <a href=\"/upload\">Upload</a> de sleutel opnieuw om een ander adres "
"toe te voegen."
#: src/gettext_strings.rs:29
msgid ""
"Your key is published as only non-identity information. (<a href=\"/about\" "
"target=\"_blank\">What does this mean?</a>)"
msgstr ""
"Uw sleutel wordt gepubliceerd als niet-identiteitsinformatie. (<a href=\"/"
"about\" target=\"_blank\">Wat betekent dit?</a>)"
#: src/gettext_strings.rs:30
msgid "To add an address, <a href=\"/upload\">upload</a> the key again."
msgstr ""
"<a href=\"/upload\">Upload</a> de sleutel opnieuw om een adres toe te voegen."
#: src/gettext_strings.rs:31
msgid ""
"We have sent an email with further instructions to <span class=\"email"
"\">{{ address }}</span>."
msgstr ""
"We hebben een e-mail gestuurd met verdere instructies naar <span class="
"\"email\">{{address}}</span>."
#: src/gettext_strings.rs:32
msgid "This address has already been verified."
msgstr "Dit adres is al geverifieerd."
#: src/gettext_strings.rs:33
msgid ""
"Your key <span class=\"fingerprint\">{{ key_fpr }}</span> is now published "
"for the identity <a href=\"{{userid_link}}\" target=\"_blank\"><span class="
"\"email\">{{ userid }}</span></a>."
msgstr ""
"Uw sleutel <span class=\"fingerprint\">{{key_fpr}}</span> is nu gepubliceerd "
"voor de identiteit <a href=\"{{userid_link}}\" target=\"_blank\"><span class="
"\"email\">{{userid}}</span></a>."
#: src/gettext_strings.rs:34
msgid "Upload your key"
msgstr "Upload uw sleutel"
#: src/gettext_strings.rs:35
msgid "Upload"
msgstr "Upload"
#: src/gettext_strings.rs:36
msgid ""
"Need more info? Check our <a target=\"_blank\" href=\"/about\">intro</a> and "
"<a target=\"_blank\" href=\"/about/usage\">usage guide</a>."
msgstr ""
"Meer informatie nodig? Bekijk onze <a target=\"_blank\" href=\"/about"
"\">intro</a> en <a target=\"_blank\" href=\"/about/usage"
"\">gebruikshandleiding</a>."
#: src/gettext_strings.rs:37
msgid ""
"You uploaded the key <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{ key_fpr }}</a></span>."
msgstr ""
"U heeft de sleutel <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{key_fpr}}</a></span> geüpload."
#: src/gettext_strings.rs:38
msgid "This key is revoked."
msgstr "Deze sleutel is ingetrokken."
#: src/gettext_strings.rs:39
msgid ""
"It is published without identity information and can't be made available for "
"search by email address (<a href=\"/about\" target=\"_blank\">what does this "
"mean?</a>)."
msgstr ""
"Dit wordt gepubliceerd zonder identiteitsgegevens en kan niet worden "
"doorzocht op e-mailadres (<a href=\"/about\" target=\"_blank\">wat betekent "
"dit?</a>)."
#: src/gettext_strings.rs:40
msgid ""
"This key is now published with the following identity information (<a href="
"\"/about\" target=\"_blank\">what does this mean?</a>):"
msgstr ""
"Deze sleutel wordt nu gepubliceerd met de volgende identiteitsgegevens (<a "
"href=\"/about\" target=\"_blank\">wat betekent dit?</a>):"
#: src/gettext_strings.rs:41
msgid "Published"
msgstr "Gepubliceerd"
#: src/gettext_strings.rs:42
msgid ""
"This key is now published with only non-identity information. (<a href=\"/"
"about\" target=\"_blank\">What does this mean?</a>)"
msgstr ""
"Deze sleutel wordt nu gepubliceerd zonder identiteitsinformatie. (<a href=\"/"
"about\" target=\"_blank\">Wat betekent dit?</a>)"
#: src/gettext_strings.rs:43
msgid ""
"To make the key available for search by email address, you can verify it "
"belongs to you:"
msgstr ""
"Om de sleutel beschikbaar te maken voor zoeken op e-mailadres, kunt u "
"valideren dat deze van u is:"
#: src/gettext_strings.rs:44
msgid "Verification Pending"
msgstr "Verificatie in behandeling"
#: src/gettext_strings.rs:45
msgid ""
"<strong>Note:</strong> Some providers delay emails for up to 15 minutes to "
"prevent spam. Please be patient."
msgstr ""
"<strong>Opmerking:</strong> sommige providers vertragen e-mails maximaal 15 "
"minuten om spam te voorkomen. Wees alstublieft geduldig."
#: src/gettext_strings.rs:46
msgid "Send Verification Email"
msgstr "Verzend verificatie-e-mail"
#: src/gettext_strings.rs:47
msgid ""
"This key contains one identity that could not be parsed as an email address."
"<br /> This identity can't be published on <span class=\"brand\">keys."
"openpgp.org</span>. (<a href=\"/about/faq#non-email-uids\" target=\"_blank"
"\">Why?</a>)"
msgstr ""
"Deze sleutel bevat één identiteit die niet kan worden ontleed als e-"
"mailadres. Deze identiteit kan niet worden gepubliceerd op <span class="
"\"brand\">keys.openpgp.org</span>. (<a href=\"/about/faq#non-email-uids\" "
"target=\"_blank\">Waarom?</a>)"
#: src/gettext_strings.rs:48
msgid ""
"This key contains {{ count_unparsed }} identities that could not be parsed "
"as an email address.<br /> These identities can't be published on <span "
"class=\"brand\">keys.openpgp.org</span>. (<a href=\"/about/faq#non-email-"
"uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"Deze sleutel bevat {{count_unparsed}} identiteiten die niet kunnen worden "
"ontleed als e-mailadres.<br /> Deze identiteiten kunnen niet worden "
"gepubliceerd op <span class=\"brand\">keys.openpgp.org</span>. (<a href=\"/"
"about/faq#non-email-uids\" target=\"_blank\">Waarom?</a>)"
#: src/gettext_strings.rs:49
msgid ""
"This key contains one revoked identity, which is not published. (<a href=\"/"
"about/faq#revoked-uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"Deze sleutel bevat één ingetrokken identiteit, die niet is gepubliceerd. (<a "
"href=\"/about/faq#revoked-uids\" target=\"_blank\">Waarom?</a>)"
#: src/gettext_strings.rs:50
msgid ""
"This key contains {{ count_revoked }} revoked identities, which are not "
"published. (<a href=\"/about/faq#revoked-uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"Deze sleutel bevat {{count_revoked}} ingetrokken identiteiten, die niet zijn "
"gepubliceerd. (<a href=\"/about/faq#revoked-uids\" target=\"_blank\">Waarom?"
"</a>)"
#: src/gettext_strings.rs:51
msgid "Your keys have been successfully uploaded:"
msgstr "Uw sleutels zijn succesvol geüpload:"
#: src/gettext_strings.rs:52
msgid ""
"<strong>Note:</strong> To make keys searchable by email address, you must "
"upload them individually."
msgstr ""
"<strong>Opmerking:</strong> Om sleutels doorzoekbaar te maken op e-"
"mailadres, moet u deze afzonderlijk uploaden."
#: src/gettext_strings.rs:53
msgid "Verifying your email address…"
msgstr "Uw e-mailadres verifiëren..."
#: src/gettext_strings.rs:54
msgid ""
"If the process doesn't complete after a few seconds, please <input type="
"\"submit\" class=\"textbutton\" value=\"click here\" />."
msgstr ""
"Als het proces na enkele seconden niet is voltooid, <input type=\"submit\" "
"class=\"textbutton\" value=\"click here\" /> alstublieft."
#: src/gettext_strings.rs:56
msgid "Manage your key on {{domain}}"
msgstr "Beheer uw sleutel op {{domain}}"
#: src/gettext_strings.rs:58
msgid "Hi,"
msgstr "Hallo,"
#: src/gettext_strings.rs:59
msgid ""
"This is an automated message from <a href=\"{{base_uri}}\" style=\"text-"
"decoration:none; color: #333\">{{domain}}</a>."
msgstr ""
"Dit is een automatisch bericht van <a href=\"{{base_uri}}\" style=\"text-"
"decoration:none; color: #333\">{{domain}}</a>."
#: src/gettext_strings.rs:60
msgid "If you didn't request this message, please ignore it."
msgstr "Als je dit bericht niet hebt opgevraagd, negeer het dan."
#: src/gettext_strings.rs:61
msgid "OpenPGP key: <tt>{{primary_fp}}</tt>"
msgstr "OpenPGP sleutel: <tt>{{primary_fp}}</tt>"
#: src/gettext_strings.rs:62
msgid ""
"To manage and delete listed addresses on this key, please follow the link "
"below:"
msgstr ""
"Om de vermelde adressen op deze sleutel te beheren en/of te verwijderen, "
"volg de onderstaande link:"
#: src/gettext_strings.rs:63
msgid ""
"You can find more info at <a href=\"{{base_uri}}/about\">{{domain}}/about</"
"a>."
msgstr ""
"Je kunt meer informatie vinden op<a href=\"{{base_uri}}/about\"> {{domain}}/"
"over</a>."
#: src/gettext_strings.rs:64
msgid "distributing OpenPGP keys since 2019"
msgstr "distributie van OpenPGP-sleutels sinds 2019"
#: src/gettext_strings.rs:67
msgid "This is an automated message from {{domain}}."
msgstr "Dit is een automatisch bericht van {{domain}}."
#: src/gettext_strings.rs:69
msgid "OpenPGP key: {{primary_fp}}"
msgstr "OpenPGP sleutel: {{primary_fp}}"
#: src/gettext_strings.rs:71
msgid "You can find more info at {{base_uri}}/about"
msgstr "Je kunt meer informatie vinden op {{base_uri}}/over"
#: src/gettext_strings.rs:74
msgid "Verify {{userid}} for your key on {{domain}}"
msgstr "Verifieer {{userid}} voor uw sleutel op {{domein}}"
#: src/gettext_strings.rs:80
msgid ""
"To let others find this key from your email address \"<a rel=\"nofollow\" "
"href=\"#\" style=\"text-decoration:none; color: #333\">{{userid}}</a>\", "
"please click the link below:"
msgstr ""
"Klik op de onderstaande link om anderen deze sleutel te laten vinden van uw "
"e-mailadres \"<a rel=\"nofollow\" href=\"#\" style=\"text-decoration:none; "
"color: #333\">{{userid}}</a>\":"
#: src/gettext_strings.rs:88
msgid ""
"To let others find this key from your email address \"{{userid}}\",\n"
"please follow the link below:"
msgstr ""
"Om anderen deze sleutel te laten vinden van uw e-mailadres \"{{userid}}\",\n"
"klik op de onderstaande link:"
#: src/web/manage.rs:103
msgid "This link is invalid or expired"
msgstr "Deze link is ongeldig of verlopen"
#: src/web/manage.rs:129
msgid "Malformed address: {address}"
msgstr "Ongeldig adres: {adres}"
#: src/web/manage.rs:136
msgid "No key for address: {address}"
msgstr "Geen sleutel voor adres: {address}"
#: src/web/manage.rs:152
msgid "A request has already been sent for this address recently."
msgstr "Er is onlangs al een verzoek voor dit adres verzonden."
#: src/web/vks.rs:111
msgid "Parsing of key data failed."
msgstr "Ontleden van sleutel gegevens is mislukt."
#: src/web/vks.rs:120
msgid "Whoops, please don't upload secret keys!"
msgstr "Oeps, upload geen geheime sleutels!"
#: src/web/vks.rs:133
msgid "No key uploaded."
msgstr "Geen sleutel geüpload."
#: src/web/vks.rs:177
msgid "Error processing uploaded key."
msgstr "Fout bij het verwerken van geüploade sleutel."
#: src/web/vks.rs:247
msgid "Upload session expired. Please try again."
msgstr "Uploadsessie is verlopen. Probeer het alstublieft opnieuw."
#: src/web/vks.rs:284
msgid "Invalid verification link."
msgstr "Ongeldige verificatielink."

463
po/hagrid/ru.po Normal file
View File

@ -0,0 +1,463 @@
#
# Translators:
# Ilja Pogrebnjak <darveter@web.de>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: hagrid\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-15 16:33-0700\n"
"PO-Revision-Date: 2019-09-27 18:05+0000\n"
"Last-Translator: Ilja Pogrebnjak <darveter@web.de>, 2020\n"
"Language-Team: Russian (https://www.transifex.com/otf/teams/102430/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
"%100>=11 && n%100<=14)? 2 : 3);\n"
#: src/mail.rs:107
msgctxt "Subject for verification email"
msgid "Verify {userid} for your key on {domain}"
msgstr "Подтверди {userid} для твоего ключа на {domain}"
#: src/mail.rs:140
msgctxt "Subject for manage email"
msgid "Manage your key on {domain}"
msgstr "Натрой свой ключ на {domain}"
#: src/gettext_strings.rs:4
msgid "Error"
msgstr "Ошибка"
#: src/gettext_strings.rs:5
msgid "Looks like something went wrong :("
msgstr "Похоже, что-то пошло не так :("
#: src/gettext_strings.rs:6
msgid "Error message: {{ internal_error }}"
msgstr "Сообщение об ошибке: {{ internal_error }}"
#: src/gettext_strings.rs:7
msgid "There was an error with your request:"
msgstr "Запрос привёл к ошибке:"
#: src/gettext_strings.rs:8
msgid "We found an entry for <span class=\"email\">{{ query }}</span>:"
msgstr "Найдена запись для <span class=\"email\">{{ query }}</span>:"
#: src/gettext_strings.rs:9
msgid ""
"<strong>Hint:</strong> It's more convenient to use <span class=\"brand"
"\">keys.openpgp.org</span> from your OpenPGP software.<br /> Take a look at "
"our <a href=\"/about/usage\">usage guide</a> for details."
msgstr ""
"<strong>Подсказка:</strong> Намного проще использовать <span class=\"brand"
"\">keys.openpgp.org</span> из вашей OpenPGP программы.<br /> Для более "
"подробной информации смотри <a href=\"/about/usage\">руководство "
"пользования</a>."
#: src/gettext_strings.rs:10
msgid "debug info"
msgstr "отладочная информация"
#: src/gettext_strings.rs:11
msgid "Search by Email Address / Key ID / Fingerprint"
msgstr "Поиск по адресу электронной почты / ID ключа / отпечаткам пальцев"
#: src/gettext_strings.rs:12
msgid "Search"
msgstr "Искать"
#: src/gettext_strings.rs:13
msgid ""
"You can also <a href=\"/upload\">upload</a> or <a href=\"/manage\">manage</"
"a> your key."
msgstr ""
"Вы также можете <a href=\"/upload\">загрузить</a> или <a href=\"/manage"
"\">настроить</a> свой ключ."
#: src/gettext_strings.rs:14
msgid "Find out more <a href=\"/about\">about this service</a>."
msgstr "Узнайте больше <a href=\"/about\">об этом сервисе</a>."
#: src/gettext_strings.rs:15
msgid "News:"
msgstr "Новости:"
#: src/gettext_strings.rs:16
msgid ""
"<a href=\"/about/news#2019-09-12-three-months-later\">Three months after "
"launch ✨</a> (2019-09-12)"
msgstr ""
"<a href=\"/about/news#2019-09-12-three-months-later\">Спустя три месяца "
"после запуска✨</a> (2019-09-12)"
#: src/gettext_strings.rs:17
msgid "v{{ version }} built from"
msgstr "версия {{ version }} собранная из"
#: src/gettext_strings.rs:18
msgid "Powered by <a href=\"https://sequoia-pgp.org\">Sequoia-PGP</a>"
msgstr "работающая на <a href=\"https://sequoia-pgp.org\">Sequoia-PGP</a>"
#: src/gettext_strings.rs:19
msgid ""
"Background image retrieved from <a href=\"https://www.toptal.com/designers/"
"subtlepatterns/subtle-grey/\">Subtle Patterns</a> under CC BY-SA 3.0"
msgstr ""
"Фоновое изображение, полученное из <a href=\"https://www.toptal.com/"
"designers/subtlepatterns/subtle-grey/\">Subtle Patterns</a> под CC BY-SA 3.0"
#: src/gettext_strings.rs:20
msgid "Maintenance Mode"
msgstr "Режим технического обслуживания"
#: src/gettext_strings.rs:21
msgid "Manage your key"
msgstr "Натрой свой ключ"
#: src/gettext_strings.rs:22
msgid "Enter any verified email address for your key"
msgstr "Введи любой проверенный адрес электронной почты для твоего ключа"
#: src/gettext_strings.rs:23
msgid "Send link"
msgstr "Отправь ссылку"
#: src/gettext_strings.rs:24
msgid ""
"We will send you an email with a link you can use to remove any of your "
"email addresses from search."
msgstr ""
"Мы вышлем вам письмо со ссылкой, которую вы можете использовать для удаления "
"любого из ваших адресов электронной почты из поиска."
#: src/gettext_strings.rs:25
msgid ""
"Managing the key <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{ key_fpr }}</a></span>."
msgstr ""
"Управление ключом <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{ key_fpr }}</a></span>."
#: src/gettext_strings.rs:26
msgid "Your key is published with the following identity information:"
msgstr "Ваш ключ опубликован со следующей идентификационной информацией:"
#: src/gettext_strings.rs:27
msgid "Delete"
msgstr "Удалить"
#: src/gettext_strings.rs:28
msgid ""
"Clicking \"delete\" on any address will remove it from this key. It will no "
"longer appear in a search.<br /> To add another address, <a href=\"/upload"
"\">upload</a> the key again."
msgstr ""
"Нажатие \"удалить\" около любого адреса удалит его из этого ключа. Он больше "
"не будет отображаться в поиске.<br />Чтобы добавить еще один адрес, <a href="
"\"/upload\">загрузи</a>ключ снова."
#: src/gettext_strings.rs:29
msgid ""
"Your key is published as only non-identity information. (<a href=\"/about\" "
"target=\"_blank\">What does this mean?</a>)"
msgstr ""
"Ключ опубликован как не имеющий идентификационной информации. (<a href=\"/"
"about\" target=\"_blank\">Что это значит?</a>)"
#: src/gettext_strings.rs:30
msgid "To add an address, <a href=\"/upload\">upload</a> the key again."
msgstr "Чтобы добавить адрес, <a href=\"/upload\">загрузи</a> ключ снова."
#: src/gettext_strings.rs:31
msgid ""
"We have sent an email with further instructions to <span class=\"email"
"\">{{ address }}</span>."
msgstr ""
"Мы отправили электронное письмо с дальнейшими инструкциями на <span class="
"\"email\">{{ address }}</span>."
#: src/gettext_strings.rs:32
msgid "This address has already been verified."
msgstr "Этот адрес был уже проверен."
#: src/gettext_strings.rs:33
msgid ""
"Your key <span class=\"fingerprint\">{{ key_fpr }}</span> is now published "
"for the identity <a href=\"{{userid_link}}\" target=\"_blank\"><span class="
"\"email\">{{ userid }}</span></a>."
msgstr ""
"Ваш ключ <span class=\"fingerprint\">{{ key_fpr }}</span> теперь опубликован "
"с идентификацией <a href=\"{{userid_link}}\" target=\"_blank\"><span class="
"\"email\">{{ userid }}</span></a>."
#: src/gettext_strings.rs:34
msgid "Upload your key"
msgstr "Загрузка ключа"
#: src/gettext_strings.rs:35
msgid "Upload"
msgstr "Загрузи"
#: src/gettext_strings.rs:36
msgid ""
"Need more info? Check our <a target=\"_blank\" href=\"/about\">intro</a> and "
"<a target=\"_blank\" href=\"/about/usage\">usage guide</a>."
msgstr ""
"Нужна дополнительная информация? Посмотри <a target=\"_blank\" href=\"/about"
"\">введение</a> и <a target=\"_blank\" href=\"/about/usage\">руководство "
"пользования</a>."
#: src/gettext_strings.rs:37
msgid ""
"You uploaded the key <span class=\"fingerprint\"><a href=\"{{ key_link }}\" "
"target=\"_blank\">{{ key_fpr }}</a></span>."
msgstr ""
"Загружен ключ <span class=\"fingerprint\"><a href=\"{{ key_link }}\" target="
"\"_blank\">{{ key_fpr }}</a></span>."
#: src/gettext_strings.rs:38
msgid "This key is revoked."
msgstr "Этот ключ отозван."
#: src/gettext_strings.rs:39
msgid ""
"It is published without identity information and can't be made available for "
"search by email address (<a href=\"/about\" target=\"_blank\">what does this "
"mean?</a>)."
msgstr ""
"Он опубликован без идентификации и поэтому не доступен для поиска по "
"электронному адресу (<a href=\"/about\" target=\"_blank\">что это значит?</"
"a>)."
#: src/gettext_strings.rs:40
msgid ""
"This key is now published with the following identity information (<a href="
"\"/about\" target=\"_blank\">what does this mean?</a>):"
msgstr ""
"Этот ключ опубликован со следующей идентификационной информацией (<a href=\"/"
"about\" target=\"_blank\">что это значит?</a>):"
#: src/gettext_strings.rs:41
msgid "Published"
msgstr "Опубликован"
#: src/gettext_strings.rs:42
msgid ""
"This key is now published with only non-identity information. (<a href=\"/"
"about\" target=\"_blank\">What does this mean?</a>)"
msgstr ""
"Этот ключ опубликован без идентификационной информации. (<a href=\"/about\" "
"target=\"_blank\">Что это значит</a>)"
#: src/gettext_strings.rs:43
msgid ""
"To make the key available for search by email address, you can verify it "
"belongs to you:"
msgstr ""
"Чтобы сделать ключ доступным для поиска по адресу электронной почты, ты "
"можешь подтвердить, что он принадлежит тебе:"
#: src/gettext_strings.rs:44
msgid "Verification Pending"
msgstr "Ожидает подтверждения"
#: src/gettext_strings.rs:45
msgid ""
"<strong>Note:</strong> Some providers delay emails for up to 15 minutes to "
"prevent spam. Please be patient."
msgstr ""
"<strong>Примечание:</strong> Некоторые провайдеры задерживают рассылку писем "
"до 15 минут для предотвращения спама. Пожалуйста, наберитесь терпения."
#: src/gettext_strings.rs:46
msgid "Send Verification Email"
msgstr "Отправить проверочное письмо"
#: src/gettext_strings.rs:47
msgid ""
"This key contains one identity that could not be parsed as an email address."
"<br /> This identity can't be published on <span class=\"brand\">keys."
"openpgp.org</span>. (<a href=\"/about/faq#non-email-uids\" target=\"_blank"
"\">Why?</a>)"
msgstr ""
"Этот ключ содержит идентификацию, которая не может быть распознана как адрес "
"электронной почты.<br /> Эта идентификация не может быть опубликована на "
"<span class=\"brand\">keys.openpgp.org</span>. (<a href=\"/about/faq#non-"
"email-uids\" target=\"_blank\">Почему?</a>)"
#: src/gettext_strings.rs:48
msgid ""
"This key contains {{ count_unparsed }} identities that could not be parsed "
"as an email address.<br /> These identities can't be published on <span "
"class=\"brand\">keys.openpgp.org</span>. (<a href=\"/about/faq#non-email-"
"uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"Этот ключ содержит {{ count_unparsed }} идентификаций, которые не могут быть "
"распознаны как адреса электронной почты.<br /> Эти идентификации не могут "
"быть опубликованы на <span class=\"brand\">keys.openpgp.org</span>. (<a href="
"\"/about/faq#non-email-uids\" target=\"_blank\">Почему?</a>)"
#: src/gettext_strings.rs:49
msgid ""
"This key contains one revoked identity, which is not published. (<a href=\"/"
"about/faq#revoked-uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"Этот ключ содержит отозванную идентификацию, которая не опубликована. (<a "
"href=\"/about/faq#revoked-uids\" target=\"_blank\">Почему?</a>)"
#: src/gettext_strings.rs:50
msgid ""
"This key contains {{ count_revoked }} revoked identities, which are not "
"published. (<a href=\"/about/faq#revoked-uids\" target=\"_blank\">Why?</a>)"
msgstr ""
"Этот ключ содержит {{ count_revoked }} отозванных идентификаций, которые не "
"опубликованны. (<a href=\"/about/faq#revoked-uids\" target=\"_blank\">Почему?"
"</a>)"
#: src/gettext_strings.rs:51
msgid "Your keys have been successfully uploaded:"
msgstr "Твои ключи были успешно загружены:"
#: src/gettext_strings.rs:52
msgid ""
"<strong>Note:</strong> To make keys searchable by email address, you must "
"upload them individually."
msgstr ""
"<strong>Примечание:</strong> Чтобы сделать ключи доступными для поиска по "
"адресу электронной почты, надо загрузить их по отдельности."
#: src/gettext_strings.rs:53
msgid "Verifying your email address…"
msgstr "Проверка адреса электронной почты..."
#: src/gettext_strings.rs:54
msgid ""
"If the process doesn't complete after a few seconds, please <input type="
"\"submit\" class=\"textbutton\" value=\"click here\" />."
msgstr ""
"Если процесс не завершится через несколько секунд, пожалуйста <input type="
"\"submit\" class=\"textbutton\" value=\"нажми сюда\"/>."
#: src/gettext_strings.rs:56
msgid "Manage your key on {{domain}}"
msgstr "Натрой свой ключ на {{domain}}"
#: src/gettext_strings.rs:58
msgid "Hi,"
msgstr "Привет,"
#: src/gettext_strings.rs:59
msgid ""
"This is an automated message from <a href=\"{{base_uri}}\" style=\"text-"
"decoration:none; color: #333\">{{domain}}</a>."
msgstr ""
"Это автоматическое сообщение сообщение от <a href=\"{{base_uri}}\" style="
"\"text-decoration:none; color: #333\">{{domain}}</a>."
#: src/gettext_strings.rs:60
msgid "If you didn't request this message, please ignore it."
msgstr "Если вы не запрашивали это сообщение, проигнорируйте его пожалуйста."
#: src/gettext_strings.rs:61
msgid "OpenPGP key: <tt>{{primary_fp}}</tt>"
msgstr "OpenPGP ключ: <tt>{{primary_fp}}</tt>"
#: src/gettext_strings.rs:62
msgid ""
"To manage and delete listed addresses on this key, please follow the link "
"below:"
msgstr ""
"Для настройки и удаления перечисленных на этом ключе адресов перейди по "
"ссылке ниже:"
#: src/gettext_strings.rs:63
msgid ""
"You can find more info at <a href=\"{{base_uri}}/about\">{{domain}}/about</"
"a>."
msgstr ""
"Дополнительную информацию можно найти по адресу <a href=\"{{base_uri}}/about"
"\">{{domain}}/about</a>."
#: src/gettext_strings.rs:64
msgid "distributing OpenPGP keys since 2019"
msgstr "распространение OpenPGP ключей с 2019 года"
#: src/gettext_strings.rs:67
msgid "This is an automated message from {{domain}}."
msgstr "Это автоматическое сообщение сообщение от {{domain}}."
#: src/gettext_strings.rs:69
msgid "OpenPGP key: {{primary_fp}}"
msgstr "OpenPGP ключ: {{primary_fp}}"
#: src/gettext_strings.rs:71
msgid "You can find more info at {{base_uri}}/about"
msgstr "Дополнительную информацию можно найти по адресу {{base_uri}}/about"
#: src/gettext_strings.rs:74
msgid "Verify {{userid}} for your key on {{domain}}"
msgstr "Подтверди {{userid}} для твоего ключа на {{domain}}"
#: src/gettext_strings.rs:80
msgid ""
"To let others find this key from your email address \"<a rel=\"nofollow\" "
"href=\"#\" style=\"text-decoration:none; color: #333\">{{userid}}</a>\", "
"please click the link below:"
msgstr ""
"Чтобы позволить другим найти этот ключ с помощью твоего адреса электронной "
"почты \"<a rel=\"nofollow\" href=\"#\" style=\"text-decoration:none; color: "
"#333\">{{userid}}</a>\", перейдите по ссылке ниже пожалуйста:"
#: src/gettext_strings.rs:88
msgid ""
"To let others find this key from your email address \"{{userid}}\",\n"
"please follow the link below:"
msgstr ""
"Чтобы позволить другим найти этот ключ с помощью твоего адреса электронной "
"почты \"{{userid}}\",\n"
"перейдите по ссылке ниже пожалуйста:"
#: src/web/manage.rs:103
msgid "This link is invalid or expired"
msgstr "Эта ссылка неверна или просрочена"
#: src/web/manage.rs:129
msgid "Malformed address: {address}"
msgstr "Некорректный адрес: {address}"
#: src/web/manage.rs:136
msgid "No key for address: {address}"
msgstr "Нет ключа для адреса: {address}"
#: src/web/manage.rs:152
msgid "A request has already been sent for this address recently."
msgstr "На этот адрес уже был недавно отправлен запрос."
#: src/web/vks.rs:111
msgid "Parsing of key data failed."
msgstr "Не удалось распознать данные ключа."
#: src/web/vks.rs:120
msgid "Whoops, please don't upload secret keys!"
msgstr "Оп-ля, пожалуйста не загружай секретные ключи!"
#: src/web/vks.rs:133
msgid "No key uploaded."
msgstr "Ключ не загружен."
#: src/web/vks.rs:177
msgid "Error processing uploaded key."
msgstr "Ошибка обработки загруженного ключа."
#: src/web/vks.rs:247
msgid "Upload session expired. Please try again."
msgstr "Сессия загрузки просрочена. Попробуй снова пожалуйста."
#: src/web/vks.rs:284
msgid "Invalid verification link."
msgstr "Неверная проверочная ссылка."

View File

@ -20,7 +20,11 @@ extern crate hagrid_database as database;
use gettext_macros::init_i18n;
init_i18n!("hagrid", en, de, fr, it, ja, nb, pl, tr, zh_Hans);
#[cfg(debug_assertions)]
init_i18n!("hagrid", en, de, ja);
#[cfg(not(debug_assertions))]
init_i18n!("hagrid", en, de, fr, it, ja, nb, pl, tr, zh_Hans, ko, nl, ru);
mod mail;
mod anonymize_utils;

View File

@ -0,0 +1,30 @@
<div class="about">
<center><h2>Sobre | <a href="/about/news">Novetats</a> | <a href="/about/usage">Ús</a> | <a href="/about/faq">FAQ</a> | <a href="/about/stats">Estadístiques</a> | <a href="/about/privacy">Privacitat</a>
</h2></center>
<p>El servidor <tt>keys.openpgp.org</tt> és un servei públic per a la distribució i descobriment de claus compatibles amb OpenPGP, normalment conegut com a servidor de claus o "keyserver".</p>
<p><strong>Per instruccions, veieu la nostra <a href="/about/usage">guia d'ús</a>.</strong></p>
<h3>Com funciona</h3>
<p>Una clau OpenPGP conté dos tipus d'informació:</p>
<ul>
<li>
<strong>Informació d'identitat</strong> descriu les parts de la clau que identifiquen el seu propietari, també coneguda com a identificadors d'usuari o "User IDs". Un User ID tipicament inclou un nom i una adreça de correu electrònic.</li>
<li>
<strong>Informació no identitària</strong> és tota aquella informació tècnica sobre la clau mateixa. Inclou els grans nombres utilitzats per a verificar signatunes i encriptar missatges. També inclou "metadades" com la data de creació, dates d'expiració, i estat de revocació.</li>
</ul>
<p>Tradicionalment aquestes peces d'informació s'han distribuït sempre juntes. A <span class="brand">keys.openpgp.org</span> es tracten de forma diferent. Mentre que qualsevol pot pujar totes les parts d'una clau OpenPGP a <span class="brand">keys.openpgp.org</span>, el nostre servidor de claus només guarda i publica determinades parts sota determinades condicions:</p>
<p>Qualsevol <strong>informació no identitària</strong> serà guardada i gratuitament distribuïda, si passa un controls d'integritat criptogràfica. Qualsevol pot descarregar aquestes parts en qualsevol moment ja que contenen només dades tècniques que no poden ser utilitzades per a identificar directament una persona. Un bon programari OpenPGP pot utilitzar <span class="brand">keys.openpgp.org</span> per mantenir aquesta informació al dia per a qualsevol clau que conegui. Això ajuda als usuaris de OpenPGP a mantenir comunicacions segures i confiables.</p>
<p>La <strong>informació identitària</strong> d'una clau OpenPGP només es distribueix amb consentiment. Conté dades personals, i no és estrictament necessaria per encriptar o verificar signatures d'una clau. Un cop el propietari dóna el seu consentiment verificant la seva adreça de correu electrònic, la clau pot trobar-se amb una cerca per adreça.</p>
<h3 id="community">Comunitat i plataforma</h3>
<p>Aquest servei funciona com un treball comunitari. Podeu parlar amb nosaltres al canal #hagrid de Freenode IRC, també com #hagrid:stratum0.org a Matrix. Per suposat podeu trobar-nos per correu electrònic a <tt>support at keys dot openpgp dot org</tt>. Els companys que fan funcionar aquest servei provenen de diferents projectes dins de l'ecosistema OpenPGP, incloent-hi Sequoia-PGP, OpenKeychain, i Enigmail.</p>
<p>Tècnicament, <tt>keys.openpgp.org</tt> funciona sobre el programari servidor de claus <a href="https://gitlab.com/hagrid-keyserver/hagrid" target="_blank">Hagrid</a>, que està basat en <a href="https://sequoia-pgp.org">Sequoia-PGP</a>. Estem funcionant sobre <a href="https://eclips.is" target="_blank">eclips-is</a>, una plataforma de "hosting" que posa focus en projectes de la Internet Freedom, i gestionada per <a href="https://greenhost.net/" target="_blank">Greenhost</a>.</p>
</div>

View File

@ -0,0 +1,85 @@
<div class="about">
<center><h2>
<a href="/about">Sobre</a> | <a href="/about/news">Novetats</a> | <a href="/about/usage">Ús</a> | FAQ | <a href="/about/stats">Estadístiques</a> | <a href="/about/privacy">Privacitat</a>
</h2></center>
<h3 id="sks-pool"><a href="#sks-pool">Aquest servidor forma part del pool "SKS" ?</a></h3>
<p>No. El model federat del pool SKS té diversos problemes en termes de fiabilitat, possibilitat d'abús, privacitat i usabilitat. Podem realitzar alguna cosa semblant, però <span class="brand">keys.openpgp.org</span> mai no formarà part del pool SKS.</p>
<h3 id="federation"><a href="#federation">Està keys.openpgp.org federat? Puc ajudar aportant una instància ?</a></h3>
<p>De moment no. Tenim previst descentralitzar <span class="brand">keys.openpgp.org</span> en algún moment. Amb diferents servidors d'operadors independents esperem millorar la fiabilitat d'aquest servei encara més.</p>
<p>Diverses persones s'han ofert a ajudar fent córrer una instància de servidor Hagrid. Apreciem realment aquestes ofertes, però probablement mai hi haurà una federació 'oberta' com SKS, on tothom pot fer córrer una instància i formar part del pool. Això és per dues raons:</p>
<ol>
<li>Una federació amb participació oberta requereix que totes les dades siguin públiques. Això afecta significativament la privacitat dels usuaris perquè permet a qualsevol obtenir una llista de totes les adreces de correu electrònic.</li>
<li>Els servidors gestionats com a passatemps per administradors casuals no encaixen amb els nostres estàndards de fiabilitat i rendiment. </li>
</ol>
<h3 id="non-email-uids"><a href="#non-email-uids">Per què no hi ha suport per identitats que no són adreces de correu electrònic ?</a></h3>
<p>Requerim consentiment explícit per a distribuir informació sobre identitats. Les identitats que no són correus electrònics, com imatges o adreces de correu, no tenen una forma fàcil d'obtenir aquests consentiments.</p>
<p>Nota: algun programari OpenPGP crea claus amb adreces de correu electrònic formatejades incorrectament. Aquestes adreces podrien no ser reconegudes a <span class="brand">keys.openpgp.org</span>.</p>
<h3 id="verify-multiple"><a href="#verify-multiple">Puc verificar més d'una clau per alguna adreça de correu electrònic ?</a></h3>
<p>Una adreça de correu electrònic pot estar associada només a una sola clau. Quan una adreça és verifica per a una nova clau, no torna a apareixer a les altres claus per a les estava associada previament. <a href="/about">La informació impersonal</a> sí que es manté distribuida per a totes les claus.</p>
<p>Això significa que la cerca per adreça de correu electrònic només torna una única clau, no múltiples candidates. Això elimina l'elecció impossible per a l'usuari ("Quina és la clau correcta ?"), i fa la cerca per adreça de correu electrònic molt més convenient.</p>
<h3 id="email-protection"><a href="#email-protection">Què feu per a protegir els correus de verificació ?</a></h3>
<p>Utilitzem un estàndard actual anomenat <a href="https://www.hardenize.com/blog/mta-sts" target="_blank">MTA-STS</a>, combinat amb <a href="https://starttls-everywhere.org/" target="_blank">STARTTLS Everywhere</a> de la EFF, per estar segurs que els correus de validació són enviats de forma segura. Això protegeig contra l'espionatge i la interceptació durant l'enviament.</p>
<p>El mecanisme MTA-STS depén de la correcta configuració dels servidors de correu electrònic. Podeu <a href="https://www.hardenize.com/">provar aquest test</a> per a veure si el vostre proveïdor d'internet el suporta. Si el símbol "MTA-STS" a l'esquerra no és una marca verda, si us plau demaneu al vostre proveïdor que actualitzi la seva configuració.</p>
<h3 id="third-party-signatures"><a href="#third-party-signatures">Distribuiu signatures de terceres parts ?</a></h3>
<p>Resposta curta: No.</p>
<p>Una signatura de tercera part és una signatura d'una clau feta per una altra clau. El més habitual és que aquestes signatures siguin fetes quan se signa la clau d'una altra persona, el que és la base de la <a href="https://en.wikipedia.org/wiki/Web_of_trust" target="_blank">xarxa de confiança</a>. Per unes quantes raon aquestes signatures no són distribuides actualment per <span class="brand">keys.openpgp.org</span>.</p>
<p>La raó principal és <strong>spam</strong>. Les signatures de terceres parts permeten adjuntar qualsevol mena d'información a la clau de qualsevol, i res atura a un usuari maliciós d'adjuntar tanta informació a una clau que la converteix en pràcticament inusable. Encara pitjor, l'usuari maliciós pot adjuntar contingut ofensiu o il·legal.</p>
<p>Hi ha idees per a resoldre aquest problema. Per exemple, les signatures podrien ser distribuides amb el signador, enlloc del signat. Alternativament, podriem requerir signatures creuades 'cross-signin' amb el signat abans de la distribució i així suportar el procediment <a href="https://wiki.debian.org/caff" target="_blank">caff-style</a>. Si hi ha prou interès, estem oberts a treballar amb altres projectes OpenPGP en una solució.</p>
<h3 id="no-sign-verified"><a href="#no-sign-verified">Per què no signar les claus després de verificar-les ?</a></h3>
<p>El servei de <span class="brand">keys.openpgp.org</span> està dirigit a la distribució i descobriment de claus, no com una autoritat de certificació. Les implementacions de clients que volen oferir comunicacions verificades han de suportar-se en els seus propis models de confiança.</p>
<h3 id="revoked-uids"><a href="#revoked-uids">Per què les identitats revocades no es distribueixen com a tals ?</a></h3>
<p>Cuan una clau OpenPGP marca una de les seves identitats com a revocada, aquesta identitat no hauria de considerar-se mai més vàlida per a la clau, i idealment, aquesta informació hauria de distribuir-se a tots els clients OpenPGP que encara coneixen la identitat ara revocada.</p>
<p>Per desgràcia no hi ha una manera de distribuir revocacions que alhora no revelin la pròpia identitat revocada. No volem distribuir identitats revocades, de manera que no podem distribuir identitats.</p>
<p>Hi ha proposades solucions a aquest problema, que permeten la distribució de revocacions sense revelar les identitats. Però encara no hi ha una especificació final, o el suport de cap programari OpenPGP. Esperem que s'estabeixi una solució en un futur, y aleshores afegirem el suport a <span class="brand">keys.openpgp.org</span> tan ràpid com puguem.</p>
<h3 id="search-substring"><a href="#search-substring">Per què no és possible cercar per parts d'adreces de correu electròric, com per exemple el domini ?</a></h3>
<p>Alguns servidors de claus donen suport a la cerca de claus per parts d'adreces de correu elctrònic. Això permet el descobriment no només de claus, sino també d'adreces, amb una cerca per exemple com "claus d'adreces a gmail punt com". Això exposa efectivament les adreces d'aquests servidors a llistats publics.</p>
<p>Una cerca per adreça de correu electrònic a <span class="brand">keys.openpgp.org</span> retorna una clau només si coindixeix exactament amb aquesta adreça. D'aquesta manera un usuari normal pot trobar la clau associada a qualsevol adreça que coneix, però no pot descobrir cap nova adreça de correu electrònic. Això evita que un usuari maliciós o spammer pugui obtenir fàcilment la llista de totes les adreces del servidor.</p>
<p>Hem fet aquesta restricció part de la nostra <a href="/about/privacy">política de privacitat</a>, el que significa que no podem canviar-la sense demanar el consentiment dels usuaris.</p>
<h3 id="tor"><a href="#tor">Suporteu Tor ?</a></h3>
<p>Per suposat ! Si teniu Tor instal·lat podreu arribar a <span class="brand">keys.openpgp.org</span> de forma anònima com un <a href="https://support.torproject.org/onionservices/#onionservices-2" target="_blank">servei onion</a>:
<a href="http://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion">zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion</a></p>
<h3 id="encrypt-verification-emails"><a href="#encrypt-verification-emails">Per què no encripteu els correus de verificació ?</a></h3>
Hi ha diverses raons:
<ol>
<li>És més complicat, tant pels nostres usuaris com per a nosaltres.</li>
<li>No evita els atacs - un atacant no guanya res de pujar una clau a la que no té accés.</li>
<li>L'esborrat hauria de ser possible encara que la clau s'hagués perdut.</li>
<li>Requeriria un mecanisme diferent (i encara més complicat) per pujar claus només de signatura.</li>
</ol>
<h3 id="older-gnupg"><a href="#older-gnupg">Tinc algún problema pujant algunes claus amb GnuPG. Hi ha algun error ?</a></h3>
<p>Hi ha un problema amb la versió actual de GnuPG. Si intenteu pujar una clau des de <span class="brand">keys.openpgp.org</span> que no conté <a href="/about">informació d'identitat</a>, GnuPG rebutjarà processar aquesta clau.</p>
<blockquote>$ gpg --receive-keys EB85BB5FA33A75E15E944E63F231550C4F47E38E<br>
gpg: key EB85BB5FA33A75E15E944E63F231550C4F47E38E: no user ID</blockquote>
<p>Estem treballant amb l'equip de GnuPG per resoldre aquest problema.</p>
</div>

View File

@ -0,0 +1,30 @@
<div class="about">
<center><h2>서비스 소개 | <a href="/about/news">새 소식</a> | <a href="/about/usage">사용 안내</a> | <a href="/about/faq">자주 묻는 질문</a> | <a href="/about/stats">통계</a> | <a href="/about/privacy">개인 정보 보호</a>
</h2></center>
<p><tt>keys.openpgp.org</tt>는 OpenPGP 호환 키의 배포와 발견을 위한 공공 키서버 서비스를 제공합니다.</p>
<p><strong>사용 방법에 대해선 <a href="/about/usage">사용 안내서</a>를 읽어보세요.</strong></p>
<h3>어떻게 돌아가나요?</h3>
<p>OpenPGP 키는 두 종류의 정보를 담고 있습니다:</p>
<ul>
<li>
<strong>명의 정보</strong>는 해당 키의 주인을 명시하는 "사용자 ID" 부분을 뜻합니다. 사용자 ID는 이름과 전자 메일 주소를 포함합니다.</li>
<li>
<strong>비-명의 정보</strong>는 키 그 자체에 대한 기술적인 부분을 뜻합니다. 비-명의 정보는 서명 검증이나 정보 암호화에 쓰이는 굉장히 큰 소수라든가 하는 핵심 정보와 키 생성 날짜, 만료일, 폐기 여부 등등의 메타데이터를 담고 있습니다.</li>
</ul>
<p>전통적으로, 이 둘은 항상 함께 배포되곤 했습니다. 하지만 <span class="brand">keys.openpgp.org</span>에서는 이 둘이 서로 다르게 처리됩니다. 어떤 OpenPGP 키든 누구나 <span class="brand">keys.openpgp.org</span>에 올릴 수 있긴 하지만, 본 키서버는 다음 조건이 맞는다는 가정 하에 매우 특정한 정보만을 저장하고 공개합니다:</p>
<p><strong>비-명의 정보</strong> 부분은 암호학적 무결성 검증을 통과한다면 제한 없이 저장되고 배포됩니다. 이 기술적인 정보 부분은 개개인을 특정할 수 없기 때문에, 누구든 이 정보를 언제든 내려받을 수 있습니다. 잘 구현된 OpenPGP 소프트웨어는 보유한 키 정보를 최신으로 유지하기 위해 얼마든지 <span class="brand">keys.openpgp.org</span> 서비스를 이용할 수 있습니다. 이를 통해 OpenPGP 사용자는 소통의 보안과 안정성을 유지할 수 있습니다.</p>
<p>OpenPGP 키 안에 포함된 <strong>명의 정보</strong> 부분은 명시적인 동의가 이뤄진 경우에 한해서 배포됩니다. 명의 정보 부분은 암호화나 서명 검증에 반드시 필요한 것도 아닐 뿐더러, 당연하게도 개인 정보에 해당하기 때문이죠. 키 소유주가 전자 메일 주소를 인증하고 공개에 명시적인 동의를 표해야 비로소 해당 키를 주소로 찾을 수 있게 됩니다.</p>
<h3 id="community">커뮤니티와 플랫폼</h3>
<p>이 서비스는 커뮤니티 공동의 노력으로 운영하고 있습니다. Freenode IRC 서버의 #hagrid 채널에 찾아오세요. Matrix의 #hagrid:stratum0.org에서도 우리를 만나실 수 있습니다. 물론 <tt>support 골뱅이 keys 닷 openpgp 닷 org</tt>로 전자 메일을 보내셔도 됩니다. 이 서비스는 Sequoia-PGP, OpenKeychain, 그리고 Enigmail 같은, OpenPGP 생태계를 이루는 다양한 프로젝트 출신들이 모여서 운영합니다.</p>
<p>기술적인 부분에서 말씀드리자면, <tt>keys.openpgp.org</tt> 서비스는 <a href="https://sequoia-pgp.org">Sequoia-PGP</a> 기반의 <a href="https://gitlab.com/hagrid-keyserver/hagrid" target="_blank">Hagrid</a> 키서버 소프트웨어로 동작합니다. 서버의 경우에는 <a href="https://greenhost.net/" target="_blank">Greenhost</a>가 관리하는 자유 인터넷 프로젝트 중심 호스팅 플랫폼 <a href="https://eclips.is" target="_blank">eclips.is</a>에서 제공합니다.</p>
</div>

View File

@ -0,0 +1,84 @@
<div class="about">
<center><h2>
<a href="/about">서비스 소개</a> | <a href="/about/news">새 소식</a> | <a href="/about/usage">사용 안내</a> | 자주 묻는 질문 | <a href="/about/stats">통계</a> | <a href="/about/privacy">개인 정보 보호</a>
</h2></center>
<h3 id="sks-pool"><a href="#sks-pool">이 서버가 "SKS" 풀에 포함돼 있나요?</a></h3>
<p>아니요. SKS 풀이 채택한 연합 모델은 안정성, 악용 방지, 개인 정보 보호, 사용성 등의 부분에서 많은 문제를 안고 있습니다. <span class="brand">keys.openpgp.org</span> 서비스도 언젠가는 그 비슷한 걸 할 지도 모르지만, 직접적으로 SKS 풀의 일부가 되는 일은 절대 없을 겁니다.</p>
<h3 id="federation"><a href="#federation">keys.openpgp.org 서비스는 현재 연합의 일부인가요? 인스턴스 운영 등의 도움은 필요없나요?</a></h3>
<p>지금 당장은 아닙니다. 물론 미래에는 <span class="brand">keys.openpgp.org</span> 서비스를 완전히 분산화할 계획이긴 합니다. 이를 통해 독립적인 운영 주체들이 다수의 서버를 각각 운영함으로써 서비스의 안정성을 더 끌어올릴 수 있길 기대하고 있습니다.</p>
<p>몇몇 사람들이 "Hagrid 서버 인스턴스 운영"을 통해 우리를 돕겠다고 연락해오긴 했습니다. 이러한 의사를 밝혀주신 건 고맙지만, SKS처럼 누구나 인스턴스를 운영함으로써 "풀"에 참여할 수 있는 "열린" 연합 모델은 절대 우리가 원하는 게 아니에요. 두 가지 이유가 있습니다:</p>
<ol>
<li>누구나 참여 가능한 연합 모델은 필연적으로 모든 데이터가 공개되어야 가능합니다. 이렇게 활짝 열려있다면 누구든 전자 메일 주소 데이터에 손쉽게 접근할 수 있고, 당연히 사용자의 개인 정보 보호에 큰 지장을 줄 수밖에 없지요.</li>
<li>일반적인 지식을 가진 "캐주얼한" 관리자가 취미로 운영하는 서버 수준으로는 우리가 필요로 하는 안정성과 성능 기준을 달성하기 힘듭니다.</li>
</ol>
<h3 id="non-email-uids"><a href="#non-email-uids">왜 전자 메일 주소 이외의 명의 정보는 지원하지 않나요?</a></h3>
<p>우리는 명의 정보의 배포에 앞서 명시적인 동의를 받고 있습니다. 사진이나 웹 사이트 URL 같은, 전자 메일 주소가 아닌 명의 정보로는 이러한 동의를 받는 것 자체가 매우 힘듭니다.</p>
<p>참고하세요: 어떤 OpenPGP 소프트웨어는 올바르지 않은 형식의 전자 메일 주소를 담은 키를 생성하기도 합니다. <span class="brand">keys.openpgp.org</span> 서비스는 이러한 주소를 인식하지 못할 수도 있습니다.</p>
<h3 id="verify-multiple"><a href="#verify-multiple">하나의 전자 메일 주소에 대해 키 여러 개를 인증할 수 있나요?</a></h3>
<p>하나의 전자 메일 주소는 오로지 하나의 키에 대해서만 엮을 수 있습니다. 만약 어떤 전자 메일 주소가 새 키에 대해 인증된다면, 과거에 이 주소로 인증됐던 모든 키와의 연계가 해제될 거예요. 물론 <a href="/about">비-명의 정보</a>는 모든 키에 대해 여전히 공개됩니다.</p>
<p>이게 무슨 얘기냐 하면, 어떤 전자 메일 주소로 키를 찾으면 무조건 단 하나의 키만 나온다는 거예요. 이렇게 함으로써, 사용자가 스스로는 절대 답변 불가능한 "도대체 어떤 키가 맞는 걸까?"와 같은 의문점을 아예 원천 차단하고, 전자 메일 주소로 키를 찾는 과정이 훨씬 편해지는 거죠.</p>
<h3 id="email-protection"><a href="#email-protection">이 서비스가 전자 메일을 발신할 때는 어떤 종류의 보호 수단을 적용하고 있나요?</a></h3>
<p>우리는 <a href="https://www.hardenize.com/blog/mta-sts" target="_blank">MTA-STS</a>라는 최신 표준과 <a href="https://starttls-everywhere.org/" target="_blank">STARTTLS Everywhere</a> 프로젝트 둘 다를 이용해 인증 전자 메일이 안전하게 발송될 수 있도록 노력합니다. 이렇게 함으로써 전송 과정에서의 도청이나 개입을 방지할 수 있죠.</p>
<p>MTA-STS 방식은 수신 전자 메일 서버 역시 올바르게 구성되어야 제대로 동작합니다. 내 전자 메일 서비스 제공자가 이 방식을 제대로 지원하고 있는지 여부는 <a href="https://www.hardenize.com/">여기서 테스트해볼</a> 수 있습니다. 만약 왼쪽 목록에서 "MTA-STS" 항목에 녹색 체크 마크가 없다면, 내 전자 메일 서비스 제공자에게 연락해서 설정을 바꿔 달라고 요청해보세요.</p>
<h3 id="third-party-signatures"><a href="#third-party-signatures">혹시 "제삼자 서명"도 배포하나요?</a></h3>
<p>한 줄 요약: 아뇨.</p>
<p>"제삼자 서명"이라 함은 다른 누군가의 키가 내 키에 남긴 서명을 뜻합니다. 대개의 경우 "제삼자 서명"이란 누군가가 "다른 사람의 키를 서명"하면 만들어지는 것으로, 원래 이를 통해서 "<a href="https://en.wikipedia.org/wiki/Web_of_trust" target="_blank">신뢰 그물망</a>"을 구성하곤 했습니다. 하지만 몇몇 문제점으로 인해서 <span class="brand">keys.openpgp.org</span> 서비스는 현재 제삼자 서명을 배포하지 않습니다.</p>
<p>제일 큰 문제는 <strong>스팸</strong>입니다. 제삼자 서명은 어떤 키에 대해 임의의 데이터를 갖다붙일 수 있게 하는데, 이를 통해서 악의적인 누군가가 키에 수 메가바이트 이상의 쓰레기 정보를 아어붙여서 키 자체를 못쓸 것으로 만들어버릴 수가 있습니다. 한 술 더 떠서, 키에 모욕적이거나 법에 저촉되는 내용을 달아버리는 것도 가능하죠.</p>
<p>이 문제를 해결하고자 여러 대안이 제시됐습니다. 개중 하나를 예로 들자면, 기존에는 서명된 키의 주인이 배포하던 제삼자 서명을 서명자 본인이 배포하도록 하는 게 있겠네요. 또는, <a href="https://wiki.debian.org/caff" target="_blank">caff식</a> 서명 절차처럼 서명자와 서명되는 키 주인 서로가 서로의 키를 상호 서명한 경우에 한해 배포를 허용하는 것도 한 방법이고요. 추후 이 주제에 대해 충분한 관심이 생긴다면, 다른 OpenPGP 프로젝트와 연계하여 해결 방안을 강구할 용의도 있습니다.</p>
<h3 id="no-sign-verified"><a href="#no-sign-verified">왜 인증 후에 키를 서명해주지 않나요?</a></h3>
<p><span class="brand">keys.openpgp.org</span> 서비스는 키 배포와 발견에 중점을 두고 있지, 사실상의 인증 기관으로 행세하려는 게 아니에요. 상호 검증된 참여자끼리의 통신을 필요로 하는 클라이언트 구현체는 스스로의 신뢰 모델을 만들어 쓰기를 권장합니다.</p>
<h3 id="revoked-uids"><a href="#revoked-uids">왜 폐기된 명의는 배포가 중지되나요?</a></h3>
<p>어떤 OpenPGP 키에 들어있는 명의 중 하나가 폐기된다면, 그 순간부터 이 명의는 해당 키에 대해 '올바르지 않은 것'으로 간주됩니다. 그리고, 이상적으로는, 기존에 이 명의를 알고 있던 모든 OpenPGP 클라이언트가 폐기 사실에 대해 전달받아야 하고요.</p>
<p>애석하게도, 폐기된 명의를 공개하지 않으면서 동시에 폐기 사실을 널리 알릴수 있는 그런 방법이 아직까지는 없습니다. 폐기된 명의를 배포하는 건 지양하고 싶기에, 그 명의 자체를 공개할 수는 없는 거죠.</p>
<p>일단, 폐기된 명의 그 자체를 공개하지는 않으면서 폐기 사실을 배포 가능하게끔 제안된 방법이 몇 가지가 있긴 합니다. 문제는, 아직 확정된 명세서가 존재하는 것도 아니고, 이걸 지원하는 OpenPGP 소프트웨어가 하나도 없다는 거예요. 우리도 이게 근시일 내에 확정되길 원합니다. 확정만 되면 <span class="brand">keys.openpgp.org</span> 서비스에 그 지원을 추가할 거고요.</p>
<h3 id="search-substring"><a href="#search-substring">왜 도메인 같은 전자 메일 주소의 일부분으로는 키 찾기가 안 되나요?</a></h3>
<p>일부 키서버는 전자 메일 주소의 일부분만으로도 키를 찾을 수 있게 허용합니다. 그런데 말이죠, 이게 허용되면 키만 찾을 수 있는 게 아니라, "gmail 닷 com으로 끝나는 전자 메일 주소를 가진 키를 찾기"와 같이 임의의 전자 메일 주소를 대량으로 찾을 수 있게 하는 거거든요. 아예 모든 전자 메일 주소를 대놓고 공개하는 것과 진배없는 겁니다.</p>
<p><span class="brand">keys.openpgp.org</span> 서비스는 완전한 전자 메일 주소에 해당하는 키 단 하나만을 반환하게 만들어졌습니다. 이렇게 하면 사용자는 이미 알고 있는 전자 메일 주소에 대한 키를 손쉽게 찾을 수는 있지만, 완전히 새로운 전자 메일 주소를 찾아내는 건 할 수 없지요. 이를 통해 스패머나 악의적인 사용자가 서버에 담긴 모든 전자 메일 주소의 목록을 뽑아내는 걸 방지합니다.</p>
<p>이건 <a href="/about/privacy">개인 정보 보호 정책</a>의 일부이기 때문에, 사용자 동의 없이 우리가 멋대로 이 설계를 고칠 수는 없습니다.</p>
<h3 id="tor"><a href="#tor">Tor 지원하세요?</a></h3>
<p>물론이죠! 이미 Tor를 설치했다면 다음 주소로 <span class="brand">keys.openpgp.org</span> <a href="https://support.torproject.org/onionservices/#onionservices-2" target="_blank">onion 서비스</a>에 익명 접속이 가능합니다:<br><a href="http://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion">zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion</a></p>
<h3 id="encrypt-verification-emails"><a href="#encrypt-verification-emails">왜 인증 전자 메일은 암호화하지 않나요?</a></h3>
이유야 많죠:
<ol>
<li>사용자 입장에서나 우리 입장에서나 이게 간단한 게 아니에요.</li>
<li>이런다고 공격을 방지하지는 못합니다. (그런데 사실 공격자는 소유권이 없는 키를 올려서 얻는 게 하나도 없습니다.)</li>
<li>사용자가 키를 분실하더라도 주소 지우기는 가능해야 합니다.</li>
<li>오로지 서명만 가능한 키를 올리는 경우에는 별도의 인증 절차가 필요할 테고, 이러면 상황이 복잡해집니다.</li>
</ol>
<h3 id="older-gnupg"><a href="#older-gnupg">GnuPG를 쓰는데요, 몇몇 키는 갱신이 안 되네요? 버그인가요?</a></h3>
<p>현재 배포되는 GnuPG에는 문제가 있어요. <a href="/about">명의 정보가 없는</a> 키를 <span class="brand">keys.openpgp.org</span>에서 받아오도록 시도하면 GnuPG가 키 처리를 거부할 거예요:</p>
<blockquote>$ gpg --receive-keys EB85BB5FA33A75E15E944E63F231550C4F47E38E<br>
gpg: key EB85BB5FA33A75E15E944E63F231550C4F47E38E: no user ID</blockquote>
<p>현재 GnuPG 팀과 이 문제 해결을 논의 중입니다.</p>
</div>

View File

@ -0,0 +1,101 @@
<div class="about">
<center><h2>
<a href="/about">서비스 소개</a> | 새 소식 | <a href="/about/usage">사용 안내</a> | <a href="/about/faq">자주 묻는 질문</a> | <a href="/about/stats">통계</a> | <a href="/about/privacy">개인 정보 보호</a>
</h2></center>
<h2 id="2019-11-12-celebrating-100k">
<div style="float: right; font-size: small; line-height: 2em;">2019-11-12 📅</div>
<a style="color: black;" href="/about/news#2019-11-12-celebrating-100k">주소 인증 100,000건을 달성했습니다! 📈</a>
</h2>
<p>서비스를 개시한 지 불과 5개월만에, 오늘 우리는 하나의 마일스톤을 달성했습니다:</p>
<center style="margin-top: 2em; margin-bottom: 2em;">
<img src="/assets/img/stats-addresses-2019-11-12.png" style="padding: 1px; border: 1px solid gray;"><br><strong>무려 십만 개의 전자 메일 주소가 인증됐습니다!</strong>
</center>
<p>이 서비스를 사용해주셔서 고맙습니다! 특히 사용자 의견 투고나 번역 제공, 소스 코드 기여 등의 도움을 주신 분들이 계신 것에 대단히 고마움을 느낍니다.</p>
<p>그간 우리가 준비한 것 몇 개를 알려드립니다:</p>
<ul>
<li>이 새 소식 페이지는 이제 <strong><a target="_blank" href="/atom.xml">ATOM 피드<img src="/assets/img/atom.svg" style="height: 0.8em;"></a></strong>로도 제공됩니다.</li>
<li>사용자의 개인 정보를 더 효과적으로 보호할 수 있는 <strong><a target="_blank" href="https://gitlab.com/hagrid-keyserver/hagrid/issues/131">새로운 키 갱신 방식</a></strong>을 고려 중입니다.</li>
<li>
<strong>현지화 작업</strong>에 전력 집중하고 있습니다! 곧 이 서비스를 몇몇 언어로 제공할 수 있길 기대합니다.</li>
</ul>
<p>만약 여러분의 언어로 <span class="brand">keys.openpgp.org</span> 서비스가 제공되길 원한다면 Transifex <a target="_blank" href="https://www.transifex.com/otf/hagrid/">번역 팀에 참여하세요</a>. 지금 당장은 <strong>러시아어</strong>, <strong>이탈리아어</strong>, <strong>폴란드어</strong>와 <strong>네덜란드어</strong> 번역에 특히 도움이 필요합니다.</p>
<p>이상으로 현재 상황을 짧게 알려드렸습니다! <span style="font-size: x-large;">👍️</span></p>
<hr style="margin-top: 2em; margin-bottom: 2em;">
<h2 id="2019-09-12-three-months-later">
<div style="float: right; font-size: small; line-height: 2em;">2019-09-12 📅</div>
<a style="color: black;" href="/about/news#2019-09-12-three-months-later">서비스 개시 후 3개월이 지났습니다 ✨</a>
</h2>
<p>우리가 <span class="brand">keys.openpgp.org</span> <a href="/about/news#2019-06-12-launch">서비스를 개시</a>한 지 벌써 3개월이 지났습니다. 이에 다음 사실을 기쁘게 알려드립니다: 그야말로 대성공이에요! 🥳</p>
<h4>각종 클라이언트의 서비스 도입</h4>
<p><span class="brand">keys.openpgp.org</span> 키서버가 사용자 사이에서 호평을 받으면서 각종 클라이언트가 우리 서비스를 도입하는 사례가 매우 빠르게 늘고 있습니다. 이제 <a href="https://gpgtools.org/" target="_blank">GPGTools</a>, <a href="https://enigmail.net/" target="_blank">Enigmail</a>, <a href="https://www.openkeychain.org/" target="_blank">OpenKeychain</a>, <a href="https://github.com/firstlookmedia/gpgsync" target="_blank">GPGSync</a>, Debian, NixOS 등이 우리 서비스를 기본 키서버로 사용합니다. 많은 튜토리얼 문서가 사용자로 하여금 우리 서비스를 사용하도록 수정되기도 했고요.</p>
<p>이 소식을 쓰는 지금 시점으로 벌써 70,000개가 넘는 전자 메일 주소가 인증됐습니다.</p>
<center style="margin-top: 2em; margin-bottom: 2em;">
<img src="/assets/img/stats-addresses-2019-09-12.png" style="padding: 1px; border: 1px solid gray;"><br><span style="font-size: smaller;">이게 잘 나가는 그래프가 아니라고 할 수 있는 사람? :)</span>
</center>
<p>macOS용 GPGTools 팀에게 특별히 고마움의 말씀을 전합니다. GPGTools 클라이언트 안에서의 키 갱신 절차를 대단히 잘 구현한 덕분에, 클라이언트 판올림 직후 우리 키서버에서 인증된 전자 메일 주소 개수가 아주 폭발적으로 늘어났다니까요.</p>
<h4>서비스 운영은 아주 순조롭습니다</h4>
<p>운영 측면에서는 그닥 알려드릴 만한 게 없네요. 이런 게 바로 "무소식이 희소식"인 거죠! 개시부터 지금까지 우리는 서비스 불통이 거의 없었습니다. 키 올리기 절차에서 잠깐 문제를 일으킨 버그가 딱 하나 있었고요, 사용자 지원 문의율은 아주 바람직할 정도로 낮았습니다.</p>
<p>네트워크 통행량은 대충 초당 요청 10개 선에서 머물고 있습니다. (낮시간엔 좀 더 많고, 주말엔 좀 더 적어요.) 지금까지 발송한 전자 메일은 대략 100,000통 정도 됩니다. 이 정도야 가뿐하죠.</p>
<p>운영 측면에서 자잘한 개선은 꽤 있었습니다. 대충 꼽아보자면 <a href="http://dnsviz.net/d/keys.openpgp.org/dnssec/" target="_blank">DNSSEC</a> 적용, <a href="/about/api#rate-limiting" target="_blank">API 요청량 제한</a> 적용, <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP">콘텐츠 보안 정책</a> 헤더의 영구 적용, 그리고 Tor Onion 서비스에 <a href="https://blog.torproject.org/whats-new-tor-0298" target="_blank">단일-단계</a> 모드 적용 정도가 있겠네요. 개선 사항 전체 목록은 <a href="https://gitlab.com/hagrid-keyserver/hagrid/merge_requests?scope=all&amp;utf8=%E2%9C%93&amp;state=merged" target="_blank">여기서</a> 볼 수 있습니다.</p>
<h4>MTA-STS를 통한 안전한 전자 메일 발송</h4>
<p>이건 좀 중요하니까 따로 언급할게요. <a href="https://www.hardenize.com/blog/mta-sts">MTA-STS</a> 적용을 통해 전자 메일 발신의 보안성을 끌어올렸습니다.</p>
<p>요즘 HTTPS 적용 안 한 곳을 찾기가 힘들 정도죠. 그런데 전자 메일쪽은 완전히 상황이 다릅니다. 상당한 수의 메일 서버가 암호화 통신을 하지 않거나, 기껏 하더라도 보안성이라고는 하나도 없는 스스로 서명된 인증서로 틀어막았다거나 하는 상황이 부지기수네요. (Let's Encrypt처럼 제대로 된 것 좀 쓰지....) 뭐, 사용자 입장에서는 보안성이 좀 떨어지더라도 일단 잘 가는 게 중요하니까... 그래서 아직도 무수히 많은 전자 메일이 암호화 통신 없이 오고가나봅니다.</p>
<p>MTA-STS를 적용하면, 도메인 운영자는 자기네 전자 메일 서버가 암호화 통신을 <em>지원함을</em> (HTTPS를 통해) 안내할 수 있습니다. 이러한 서버로의 보안 통신이 연결될 수 없다면 메시지 전달은 지연되거나, 궁극적으로는 반송됩니다. 즉, 안전성을 보장할 수 없으면 메시지를 아예 전달하지 않아요.</p>
<p><span class="brand">keys.openpgp.org</span> 같은 서비스 입장에서는 이게 대단히 유용한 기술입니다. 충분히 신뢰할 수 있는 암호화 통신을 쓰지 않는다면 공격자가 중간에 인증 전자 메일을 비교적 쉽게 가로챌 수 있거든요. MTA-STS를 적용한 전자 메일 서비스 제공자에 한해서 우리는 모든 메시지가 올바른 서버에게 안전히 전달됐음을 보장할 수 있습니다.</p>
<p>내 전자 메일 서비스 제공자가 MTA-STS를 지원하는지 <a href="https://aykevl.nl/apps/mta-sts/" target="_blank">점검해보세요</a>. 만약 지원하지 않는 걸로 나타나면, 고객 지원에 연락해서 보안 수준 좀 끌어올리라고 반드시 요청하세요!</p>
<h4>아직 준비 중인 것</h4>
<p>현재 두 가지 기능에 집중하고 있어요:</p>
<p>일단 첫째로 <strong>지역화</strong>가 있습니다. 우리는 지금까지 오로지 영어만 지원해왔는데, 대다수의 사람들은 영어를 못 하거든요. 접근성 측면에서 이걸 해결하고자 우리는 OTF의 <a href="https://www.opentech.fund/labs/localization-lab/" target="_blank">Localization Lab</a>과 협업하여 이 웹 사이트와 전자 메일 발송을 여러 언어로 가능하게끔 노력하고 있습니다.</p>
<p>둘째로는 <strong>제삼자 서명</strong>을 다시 부활시키는 겁니다. <a href="/about/faq#third-party-signatures">자주 묻는 질문에서 언급했듯</a>, 우리는 현재 스팸이나 악용 가능성의 문제 때문에 제삼자 서명을 지원하지 않고 있어요. 지금까지 대안으로 제시된 건 키 주인이 어떤 사람에게서 받은 제삼자 서명을 공개할지 직접 선택할 수 있도록 <a href="https://gitlab.com/openpgp-wg/rfc4880bis/merge_requests/20/diffs" target="_blank">상호 서명</a>을 요구하는 방안이 있겠네요. 키 주인 입장에서는 뭔가 더 귀찮겠지만, 이 방식은 현존하는 소프트웨어와도 꽤나 호환 가능하다는 것과, 서명이고 뭐고 신경 안 쓰는 사람들에게는 전혀 방해가 안 된다는 장점이 있습니다.</p>
<p>이 두 가지 기능은 이미 상당한 작업이 진행되긴 했지만 언제 공개할지는 미정입니다.</p>
<p>(<a href="/about/news#2019-06-12-launch-challenges">지난 번 소식</a>이랑 <a href="/about/faq#older-gnupg" target="_blank">자주 묻는 질문</a>에서 언급했던) GnuPG의 "<tt>no user ID</tt>" 문제 관련해서는, 이걸 해결하는 패치가 Debian과 macOS용 GPGTools에는 적용됐지만 아직 GnuPG 그 자체에는 적용이 안 됐다는 걸 알려드립니다.</p>
<p>이상입니다! 관심 가지고 지켜봐줘서 고마워요! <span style="font-size: x-large;">👋</span></p>
<hr style="margin-top: 2em; margin-bottom: 2em;">
<h2 id="2019-06-12-launch">
<div style="float: right; font-size: small; line-height: 2em;">2019-06-12 📅</div>
<a href="/about/news#2019-06-12-launch" style="color: black;">새로운 키서버를 발족합니다! 🚀</a>
</h2>
<p>오늘 우리는 <a href="https://enigmail.net" target="_blank">Enigmail</a> 팀, <a href="https://openkeychain.org" target="_blank">OpenKeychain</a> 팀, 그리고 <a href="https://sequoia-pgp.org">Sequoia PGP</a> 팀이 공동으로 준비해온 새로운 공개 OpenPGP 키서버인 <span class="brand">keys.openpgp.org</span> 서비스의 개시를 발표합니다! 만세! 🎉</p>
<h4>짧막한 소개 좀 부탁합니다!</h4>
<ul>
<li>빠르고 안정적입니다. 요청 응답을 기다릴 필요도 없고, 서비스 불통도 없으며, 모순되는 부분도 없습니다.</li>
<li>정확합니다. 키 찾기는 오로지 단 하나의 키만 반환하기에, 매우 쉽게 키를 발견할 수 있어요.</li>
<li>사용자 인증을 거칩니다. 키의 명의 정보는 오로지 본인 동의가 있을 때만 공개됩니다. 반면, 비-명의 정보는 아무런 제한 없이 배포돼요.</li>
<li>잊힐 수 있습니다. 사용자는 간단한 전자 메일 인증을 통해 개인 정보를 완전히 제거할 수 있습니다.</li>
<li>자유 오픈 소스 (AGPLv3) 라이브러리인 <a href="https://sequoia-pgp.org" target="_blank">Sequoia PGP</a>를 기반으로, 러스트 프로그래밍 언어로 만들어졌습니다.</li>
</ul>
지금 당장 <a href="/upload">내 키를 올려보세요</a>!
<h4>왜 또 새로운 키서버를 만들었나요?</h4>
<p><span class="brand">keys.openpgp.org</span> 서비스는 현재 많은 응용 프로그램에서 기본으로 사용하는 SKS 키서버 풀에 대한 대안으로 만들어졌습니다. 이 키서버 분산 네트워크는 최근 들어 <a target="_blank" href="https://medium.com/@mdrahony/are-sks-keyservers-safe-do-we-need-them-7056b495101c">악용되고</a>, <a target="_blank" href="https://en.wikipedia.org/wiki/Key_server_(cryptographic)#Problems_with_keyservers">태생적인 성능 한계를 가졌으며</a>, <a href="http://www.openwall.com/lists/oss-security/2017/12/10/1">개인 정보 문제를 겪고 있고</a>, <a target="_blank" href="http://nongnu.13855.n7.nabble.com/SKS-apocalypse-mitigation-td228252.html">GDPR</a> 준수 여부도 도마에 올랐습니다. Kristian Fiskerstrand는 분명 <a target="_blank" href="https://blog.sumptuouscapital.com/2016/12/10-year-anniversary-for-sks-keyservers-net/">십 년이 넘는 기간 동안</a> 풀을 유지해오는 대단한 업적을 세웠습니다만, 이제는 그 개발 여력도 <a target="_blank" href="https://bitbucket.org/skskeyserver/sks-keyserver/pull-requests/60/clean-build-with-405">거의 바닥난 듯하네요</a>.</p>
<p>이제는 이러한 해묵은 문제를 해결할 신선한 접근법이 필요하다는 게 우리 생각이었죠.</p>
<h4>명의 정보와 비-명의 정보</h4>
<p><span class="brand">keys.openpgp.org</span> 키서버는 우선 키 안에 들어있는 명의 정보와 비-명의 정보를 쪼개는 것부터 시작합니다. 자세한 사항은 <a href="/about" target="_blank">서비스 소개 페이지</a>에서 찾을 수 있지만, 일단 간단히 요약해보자면: 키의 기술적인 부분이나 폐기 여부 같은 비-명의 정보는 자유로이 배포되지만, 전자 메일 주소와 이름에 해당하는 명의 정보는 오로지 사용자 동의가 있어야 배포가 가능하고, 그 동의에 대한 철회도 언제든지 가능하다는 겁니다.</p>
<p>만약 어떤 전자 메일 주소가 새로운 키에 대해 인증되면 이 키는 기존에 해당 주소에 대해 결부돼있던 키를 대체합니다. 이렇게 함으로써 모든 전자 메일 주소는 오로지 단 하나의 키에만 엮이게 됩니다. 주소 주인은 언제나 해당 주소를 공개된 목록에서 내려버릴 수도 있고요. 사실 이렇게 되면 키 발견 측면에서 엄청난 이득이 생깁니다: 전자 메일 주소로 키를 찾았을 때 단 하나의 키만 반환된다면 오로지 이 키만이 해당 전자 메일 주소에 대해 올바르다는 뜻이 되거든요.</p>
<h4>Enigmail과 OpenKeychain이 지원합니다</h4>
<p><span class="brand">keys.openpgp.org</span> 키서버는 곧 판올림될 Thunderbird용 <a href="https://enigmail.net" target="_blank">Enigmail</a>과 Android용 <a href="https://play.google.com/store/apps/details?id=org.sufficientlysecure.keychain&amp;hl=en">OpenKeychain</a>의 전폭적인 지원을 받습니다. 이게 무엇이냐 하면 해당 구현체 사용자들은 우리 서비스가 약속하는 빠른 응답 시간과 전자 메일 주소로의 개선된 키 찾기를 바로 누릴 수 있다는 거죠. 우리는 이 작은 한 걸음이 커뮤니티 사이의 더 큰 협력을 불러일으키길 바랍니다.</p>
<h4 id="2019-06-12-launch-challenges">현재 걸림돌로 남아있는 것</h4>
<p>키서버 그 자체에 개인 정보 보호 기법을 녹여내는 건 아직 굉장히 생소하다고 봐야 합니다. 필연적으로, 명의 정보를 분리시키는 이 발상 자체가 몇몇 호환성 문제를 불러일으키고 있습니다. 애석하게도 말이죠.</p>
<p>대표적으로, (이 글을 쓰는 현재 2.2.16 버전인) GnuPG는 명의 정보가 없는 OpenPGP 키를 접할 경우 "no user ID" 오류를 뿜고 즉시 처리를 멈춰버립니다. 즉, (폐기 인증서 같은) 비-명의 부분이 암호학적으로 올바를지라도 처리를 거부해버리는 것이죠. 우리는 현재 이 문제를 해결하기 위해 분주히 노력하고 있습니다.</p>
<h4>앞으로의 계획</h4>
<p>키서버 그 자체에 개인 정보 보호 기법을 녹여내는 건 매우 새로운 발상이고, 우리는 여기에 덧붙여 메타데이터 자체를 최소화할 수 있는 여러 방법을 생각 중에 있습니다. 뭐, 그래도 지금 당장은 <span class="brand">keys.openpgp.org</span> 서비스를 🐇 안정적이고 빠르게 유지하고, 🐞 추후 발생할 버그를 고쳐나가며, 👂 커뮤니티로부터 오는 <a href="/about#community">사용자 의견에 귀를 기울일 생각입니다</a>.</p>
<p>더 자세한 정보는 <a target="_blank" href="/about">서비스 소개</a> 페이지나 <a target="_blank" href="/about/faq">자주 묻는 질문</a> 페이지를 참고하세요. 지금 당장이라도 <a href="/upload" target="_blank">내 키를 올려보세요</a>! 이외에도 <a target="_blank" href="/about/api">API</a>라든가 <a target="_blank" href="/about/faq#tor">Onion 서비스</a> 같은 멋진 것들도 준비돼있으니 찬찬히 살펴보세요.</p>
<p>키서버의 미래를 위하여! <span style="font-size: x-large;">🍻</span></p>
</div>

View File

@ -0,0 +1,27 @@
<div class="about">
<center><h2>
<a href="/about">서비스 소개</a> | <a href="/about/news">새 소식</a> | <a href="/about/usage">사용 안내</a> | <a href="/about/faq">자주 묻는 질문</a> | <a href="/about/stats">통계</a> | 개인 정보 보호</h2></center>
<p style="text-align: left;">keys.openpgp.org 도메인에서 동작하는 공공 키서버는 OpenPGP 키 데이터를 처리, 저장, 배포합니다. 어떤 데이터가 어떻게 처리되는지는 해당 데이터 종류에 따라 달라집니다.</p>
<ul>
<li>
<b>전자 메일 주소</b><p><abbr title="패킷 태그 13번">사용자 ID</abbr>에 포함된 전자 메일 주소는 개개인을 특정할 수 있는 개인 정보입니다. 따라서 해당 개인 정보는 다음과 같은 특수 절차를 거쳐 오로지 본인 동의가 있어야만 사용 가능하도록 처리됩니다:</p>
<ul>
<li>해당 전자 메일 주소는 <a target="_blank" href="https://en.wikipedia.org/wiki/Opt-in_email#Confirmed_opt-in_(COI)_/_Double_opt-in_(DOI)">참여 이중 확인</a> 절차를 통해 주소 소유권을 인증해야만 공개할 수 있습니다.</li>
<li>주소는 연관된 이름만으로는 찾을 수 없고, 오로지 완전한 전자 메일 주소로만 찾을 수 있습니다.</li>
<li>연관 없는 여러 주소를 한 번에 얻어낼 수는 없습니다.</li>
<li>주소 정보를 지우는 건 자동화된 간단한 소유권 인증 절차를 통해 가능합니다. 만약 이게 불가능한 상황이라면 support 골뱅이 keys 닷 openpgp 닷 org 주소로 도움을 요청하세요.</li>
</ul>
<p>이 개인 정보는 절대로 제삼자에게 '데이터 뭉치'의 형태로 전달되지 않습니다.</p>
</li>
<li>
<b>공개키 데이터</b><p>OpenPGP 키의 암호학적 데이터는 개인 정보로 간주되지 않습니다. 암호학적 데이터란 <abbr title="패킷 태그 6번과 14번">공개키 정보</abbr>, <abbr title="패킷 태그 2번, 서명 타입 0x10-0x13, 0x18, 0x19, 0x1F">자가 서명</abbr>, 그리고 <abbr title="패킷 태그 2번, 서명 타입 0x20, 0x28, 0x30">철회 서명</abbr>을 의미합니다.</p>
<p>이 데이터는 대개의 경우 '데이터 뭉치'의 형태로 제공되지는 않습니다만, 연구 및 개발 목적으로 요청이 들어올 경우 제공될 수도 있습니다.</p>
</li>
<li>
<b>기타 사용자 ID 데이터</b><p>OpenPGP 키는 전자 메일 주소 이외의 개인 정보를 담고 있을 수 있습니다. 이러한 정보에는 전자 메일 주소가 아닌 <abbr title="패킷 태그 13번">사용자 ID</abbr>, <abbr title="패킷 태그 17번">이미지 데이터</abbr> 등이 있습니다. 이러한 데이터는 올리기 과정에서 미리 제거됩니다. 따라서 절대로 저장·처리·배포되지 않습니다.</p>
<p>위에서 명시적으로 언급하지 않은 OpenPGP 패킷 타입은 올리기 과정에서 미리 제거됩니다. 따라서 절대로 저장·처리·배포되지 않습니다.</p>
</li>
</ul>
<p style="text-align: left">위에서 언급한 데이터 제공 방식과 <a href="/about/api">공개 API 인터페이스</a>에서 접근 가능한 범위 외적으로는 제삼자에게 데이터를 제공하지 않습니다.</p>
</div>

View File

@ -0,0 +1,31 @@
<div class="about">
<center><h2>
<a href="/about">서비스 소개</a> | <a href="/about/news">새 소식</a> | <a href="/about/usage">사용 안내</a> | <a href="/about/faq">자주 묻는 질문</a> | 통계 | <a href="/about/privacy">개인 정보 보호</a>
</h2></center>
<h3>전자 메일 주소 인증</h3>
<p>📈 인증된 전자 메일 주소 개수에 대한 간단한 통계를 내 봤습니다.</p>
<p>
</p>
<center><img src="/about/stats/month.png"></center>
<p>
</p>
<center><img src="/about/stats/year.png"></center>
<h3>평균 부하</h3>
<p>"평균 부하"란 서버가 얼마나 바쁜지에 대한 수치입니다. 간단히 설명하자면:</p>
<ul>
<li>0.0: <span class="brand">keys.openpgp.org</span> 서버가 하릴없이 놀고 있음</li>
<li>1.0: 상당히 바쁘게 돌고 있음</li>
<li>4.0 이상: 어디 서버 타는 냄새 안 나나요? 🔥 불이야!</li>
</ul>
<p>
</p>
<center><img src="/about/stats/load_week.png"></center>
</div>

View File

@ -0,0 +1,111 @@
<div class="about usage">
<center><h2>
<a href="/about">서비스 소개</a> | <a href="/about/news">새 소식</a> | 사용 안내 | <a href="/about/faq">자주 묻는 질문</a> | <a href="/about/stats">통계</a> | <a href="/about/privacy">개인 정보 보호</a>
</h2></center>
<p>이 페이지에는 다양한 OpenPGP 소프트웨어에서 <span class="brand">keys.openpgp.org</span> 서비스를 사용하는 방법을 다룹니다.<br>이 페이지의 내용은 끊임없이 보충될 예정입니다. 뭔가 부족하다 싶은 게 있으면 알려주세요! 추가하도록 노력하겠습니다.</p>
<h2>
<div><img src="/assets/img/enigmail.svg"></div>
Enigmail
</h2>
<p>Thunderbird용 <a href="https://enigmail.net" target="_blank">Enigmail</a>은 버전 2.0.12부터 <span class="brand">keys.openpgp.org</span> 서비스를 기본으로 사용하고 있습니다.</p>
<p>(<a href="https://www.thunderbird.net/en-US/thunderbird/68.0beta/releasenotes/" target="_blank">Thunderbird 68</a> 또는 그 이후 버전을 위한) Enigmail 2.1부터 다음과 같은 기능이 완벽 지원됩니다:</p>
<ul>
<li>키 정보가 자동으로 항상 최신으로 유지됩니다.</li>
<li>키 생성 과정에서 키 올리기와 인증을 동시에 할 수 있습니다.</li>
<li>전자 메일 주소로 키 찾기를 지원합니다.</li>
</ul>
<h2>
<div><img src="/assets/img/gpgtools.png"></div>
GPG Suite
</h2>
<p>macOS용 <a href="https://gpgtools.org/">GPG Suite</a>는 2019년 8월부터 <span class="brand">keys.openpgp.org</span> 서비스를 기본으로 사용합니다.</p>
<h2>
<div><img src="/assets/img/openkeychain.svg"></div>
OpenKeychain
</h2>
<p>Android용 <a href="https://www.openkeychain.org/">OpenKeychain</a>은 2019년 7월부터 <span class="brand">keys.openpgp.org</span> 서비스를 기본으로 사용합니다.</p>
<ul>
<li>키 정보가 자동으로 항상 최신으로 유지됩니다.</li>
<li>전자 메일 주소로 키 찾기를 지원합니다.</li>
</ul>
<p>아직 앱 내에서 키 올리기와 전자 메일 주소 인증을 지원하지 않음을 유의하세요.</p>
<h2>
<div><img src="/assets/img/pignus.png"></div>
Pignus
</h2>
<p>iOS용 <a href="https://www.frobese.de/pignus/">Pignus</a>는 2019년 11월부터 <span class="brand">keys.openpgp.org</span> 서비스를 기본으로 사용합니다.</p>
<ul>
<li>언제 어디서든 내 키 올리기가 가능합니다.</li>
<li>전자 메일 주소로 키 찾기를 지원합니다.</li>
</ul>
<h2>
<div><img src="/assets/img/gnupg.svg"></div>
GnuPG
</h2>
<p><a href="https://gnupg.org">GnuPG</a>가 <span class="brand">keys.openpgp.org</span> 서비스를 키서버로 사용하게끔 설정하려면 아래 한 줄을 <tt>gpg.conf</tt> 파일에 추가하세요:</p>
<blockquote>keyserver hkps://keys.openpgp.org</blockquote>
<h4 id="gnupg-retrieve"><a href="#gnupg-retrieve">키 받아오기</a></h4>
<ul>
<li>누군가의 키를 전자 메일 주소로 찾아 받아오려면 다음 명령을 실행하세요:<blockquote>gpg --auto-key-locate keyserver --locate-keys user@example.net</blockquote>
</li>
<li>현재 알고있는 모든 키에 대한 최신 정보(새 폐기 인증서라든가 새 서브키라든가)를 가져오려면 다음 명령을 실행하세요:<blockquote>gpg --refresh-keys</blockquote>
</li>
</ul>
<h4 id="gnupg-upload"><a href="#gnupg-upload">내 키 올리기</a></h4>
<p>GnuPG의 <tt>--send-keys</tt> 명령으로 키를 올릴 수 있습니다만, 동시에 명의 정보 인증을 진행하지는 못합니다. 즉, 이렇게 올린 키는 전자 메일 주소로 찾을 수 없습니다. (<a href="/about">이게 뭘 뜻하나요?</a>)</p>
<ul>
<li>다음 명령으로 키를 올리고 동시에 인증 페이지로의 직접 링크를 받아오는 것까지 한 번에 해결하는 것은 가능합니다:<blockquote>gpg --export your_address@example.net | curl -T - {{ base_uri }}</blockquote>
</li>
<li>아니면 키를 파일로 내보낸 다음 직접 <a href="/upload" target="_blank">올리기</a> 페이지에서 불러올 수도 있어요:<blockquote>gpg --export your_address@example.net &gt; my_key.pub</blockquote>
</li>
</ul>
<h4 id="gnupg-troubleshooting"><a href="#gnupg-troubleshooting">문제 해결</a></h4>
<ul>
<li>오래된 <tt>~/gnupg/dirmngr.conf</tt> 파일은 간혹 다음과 같은 한 줄을 포함하기도 합니다:<blockquote>hkp-cacert ~/.gnupg/sks-keyservers.netCA.pem</blockquote>
<p>이 설정은 이젠 필요 없습니다. 오히려 정상적인 인증서를 방해할 뿐이죠. 해당 한 줄을 지우는 걸 권장합니다.</p>
</li>
<li>키 갱신 과정에서 다음과 같은 오류를 접할 수도 있습니다:<blockquote>gpg: key A2604867523C7ED8: no user ID</blockquote>
이건 <a href="https://dev.gnupg.org/T4393" target="_blank">이미 보고된 GnuPG 자체의 문제</a>입니다. GnuPG 팀과 함께 문제 해결을 위해 노력 중이에요.
</li>
</ul>
<h4 id="gnupg-tor"><a href="#gnupg-tor">Tor를 통해 사용하기</a></h4>
<p>더 조심스러운 접근이 필요하다면 <a href="https://support.torproject.org/onionservices/#onionservices-2" target="_blank">Onion 서비스</a>를 거쳐 <span class="brand">keys.openpgp.org</span> 서비스에 익명으로 접속할 수도 있습니다. <a href="https://www.torproject.org/" target="_blank">Tor</a> 설치가 이미 돼 있다면 다음 설정을 사용하세요:</p>
<blockquote>keyserver hkp://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion</blockquote>
<h2 style="padding-left: 3%;" id="wkd-as-a-service"><a style="color: #050505;" href="#wkd-as-a-service">서비스로의 WKD</a></h2>
<p>Web Key Directory(WKD)는 전자 메일 서비스 제공자의 도메인을 통해 전자 메일 주소만 가지고 OpenPGP 키를 찾아올 수 있게 하는 표준 기술입니다. <a href="https://www.gpg4win.de/about.html" target="_blank">GpgOL</a>을 위시한 일부 전자 메일 클라이언트는 기존에 알려지지 않은 키를 WKD로 찾도록 지원합니다.</p>
<p><span class="brand">keys.openpgp.org</span>는 임의의 도메인에 대해서 WKD 서비스를 위임받아 제공할 수 있습니다. 단순히 <tt>openpgpkey</tt> 서브 도메인에 대한 <tt>CNAME</tt> 레코드를 <tt>wkd.keys.openpgp.org</tt> 주소를 가리키도록 설정해두면 됩니다. 어느 DNS 호스팅이든 웹 인터페이스를 통해 충분히 설정할 수 있을 걸요.</p>
<p>일단 해당 도메인에 대해 설정이 완료되면, 기존에 인증된 전자 메일 주소는 WKD를 통해 얼마든지 찾을 수 있습니다.</p>
<p><tt>CNAME</tt> 레코드가 다음과 같이 보이면 성공입니다:</p>
<blockquote>$ drill openpgpkey.example.org<br>
...<br>
openpgpkey.example.org. 300 IN CNAME wkd.keys.openpgp.org.</blockquote>
<p>다음과 같이 WKD 설정 상태 점검을 간단하게 할 수도 있습니다:</p>
<blockquote>$ curl 'https://wkd.keys.openpgp.org/status/?domain=openpgpkey.example.org'<br>
CNAME lookup ok: openpgpkey.example.org resolves to wkd.keys.openpgp.org<br>
</blockquote>
<p>키 받아오기를 테스트하려면 다음 명령을 실행하세요:</p>
<blockquote>$ gpg --locate-keys --auto-key-locate clear,nodefault,wkd address@example.org<br>
</blockquote>
<h2 style="margin-left: 3%;">API</h2>
<p>OpenPGP 응용 프로그램에 기능 통합 지원을 위한 API도 제공 중입니다. <a href="/about/api">API 문서</a>를 확인해보세요.</p>
<h2 style="margin-left: 3%;">기타 사항</h2>
<p>여러분이 애용하는 구현체에 대한 사용 안내가 없나요? 이 사이트는 아직 미완성이고 계속해서 개선 중임을 기억해주세요. 혹시라도 도움 주실 생각이라면 언제든 <span class="email">support 골뱅이 keys 닷 openpgp 닷 org</span>로 연락주세요!</p>
</div>

View File

@ -0,0 +1,61 @@
<div class="about">
<center><h2>Om | <a href="/about/news">Nyheter</a> | <a href="/about/usage">Bruk</a> | <a href="/about/faq">Ofte stilte spørsmål</a> | <a href="/about/stats">Statistikk</a> | <a href="/about/privacy">Personvern</a>
</h2></center>
<p>Tjeneren <tt>keys.openpgp.org</tt> er en offentlig tjeneste
for distribusjon og oppdagelse av OpenPGP-kompatible nøkler,
ofte kalt «nøkkeltjener».</p>
<p><strong>For instruksjoner, se <a href="/about/usage">bruksanvisningen</a> vår.</strong></p>
<h3>Slik virker det</h3>
<p>En OpenPGP-nøkkel inneholder to typer informasjon:</p>
<ul>
<li>
<strong>Identifiserende opplysninger</strong> brukes om delene av en nøkkel som identifiserer eieren, også kjent som «bruker-IDer».
En bruker-ID inneholder vanligvis et navn og en e-postadresse.</li>
<li>
<strong>Ikke-identifiserende opplysninger</strong> er alle de tekniske
opplysningene om selve nøkkelen. Dette omfatter de store tallene
som brukes for å bekrefte signaturer og for å kryptere meldinger.
Det omfatter også metadata som opprettelsesdato, noen utløpsdatoer og status for tilbakekalling.</li>
</ul>
<p>Det har vært vanlig å gi ut disse opplysningene samlet.
På <span class="brand">keys.openpgp.org</span> blir de behandlet på en annen måte.
Mens hvem som helst kan laste opp alle deler av en hvilken som helst OpenPGP-nøkkel til <span class="brand">keys.openpgp.org</span>, vil nøkkeltjeneren bare ta vare på og offentliggjøre visse deler av nøkkelen, og bare under visse omstendigheter:</p>
<p><strong>Ikke-identifiserende opplysninger</strong> vil bli lagret og fritt gitt ut på ny dersom de består en kryptografisk integritetssjekk.
Hvem som helst kan laste ned disse opplysningene ettersom de bare
inneholder informasjon som ikke kan brukes til å identifisere en person direkte.
Bra OpenPGP-programvare kan bruke <span class="brand">keys.openpgp.org</span>
for å holde slike opplysninger oppdatert for enhver nøkkel den kjenner til.
Dette hjelper OpenPGP-brukere med å opprettholde sikker og pålitelig kommunikasjon.</p>
<p>De <strong>Identifiserende opplysningene</strong> i en OpenPGP-nøkkel
blir bare gitt ut med samtykke.
De inneholder personlig informasjon, og er ikke strengt nødvendige
for at en nøkkel skal kunne brukes til å kryptere eller bekrefte signaturer.
Så snart eieren gir et slikt samtykke ved å bekrefte e-postadressen sin,
kan nøkkelen finnes ved å søke på adressen.</p>
<h3 id="community">Fellesskap og plattform</h3>
<p>Denne tjenesten blir drevet på dugnad.
Du kan snakke med oss på
#hagrid på Freenode IRC,
som du også kan få tilgang til via #hagrid:stratum0.org på Matrix.
Selvsagt når du oss også på e-post:
<tt>support alfakrøll keys punktum openpgp punktum org</tt>.
Folkene som driver dette kommer
fra diverse prosjekter innenfor OpenPGP-økosystemet,
blant annet Sequoia-PGP, OpenKeychain og Enigmail.</p>
<p>Når det gjelder det tekniske,
kjører <tt>keys.openpgp.org</tt> nøkkeltjener-programvaren <a href="https://gitlab.com/hagrid-keyserver/hagrid" target="_blank">Hagrid</a>,
som er basert på <a href="https://sequoia-pgp.org">Sequoia-PGP</a>.
Vi kjører på <a href="https://eclips.is" target="_blank">eclips.is</a>,
en hostingplattform for prosjekter som arbeider for et fritt Internett.
Plattformen drives av <a href="https://greenhost.net/" target="_blank">Greenhost</a>.</p>
</div>

View File

@ -0,0 +1,67 @@
<div class="about">
<center><h2>Over | <a href="/about/news">Nieuws</a> | <a href="/about/usage">Gebruik</a> | <a href="/about/faq">FAQ</a> | <a href="/about/stats">Statistieken</a> | <a href="/about/privacy">Privacy</a>
</h2></center>
<p>De <tt>keys.openpgp.org</tt> server is een openbare dienst voor de
distributie en vinden van OpenPGP-compatibele sleutels, gewoonlijk
wordt een "sleutelserver" genoemd.</p>
<p><strong>Raadpleeg voor instructies onze <a href="/about/usage">gebruiksgids</a>.</strong></p>
<h3>Hoe het werkt</h3>
<p>Een OpenPGP-sleutel bevat twee soorten informatie:</p>
<ul>
<li>
<strong>Identiteitsinformatie</strong> beschrijft de delen van
een sleutel die de eigenaar identificeert, ook bekend als "Gebruikers-ID's".
Een gebruikers-ID bevat doorgaans een naam en een e-mailadres.</li>
<li>
<strong>Niet-identiteitsgegevens</strong> is allemaal technisch
informatie over de sleutel zelf. Dit omvat de grote getallen
gebruikt voor het verifiëren van handtekeningen en het versleutelen van berichten.
Het bevat ook metagegevens zoals de aanmaakdatum, een bepaalde vervaldatum
datums en intrekkingsstatus.</li>
</ul>
<p>Traditioneel zijn deze stukjes informatie altijd samen verspreid
Op <span class="brand">keys.openpgp.org</span> worden deze
anders behandeld. Terwijl iedereen alle delen van een OpenPGP-sleutel kan uploaden
naar <span class="brand">keys.openpgp.org</span>, zal onze sleutelserver
alleen bepaalde delen behouden en publiceren onder bepaalde
voorwaarden:</p>
<p>Alle <strong>niet-identiteitsinformatie</strong> wordt vrij opgeslagen
herverdeeld, als het een cryptografische integriteitscontrole doorstaat.
Iedereen kan deze onderdelen op elk moment downloaden omdat ze alleen
technische gegevens bevatten die niet kunnen worden gebruikt om een persoon rechtstreeks te identificeren.
Goede OpenPGP-software kan <span class="brand">keys.openpgp.org</span> gebruiken
om deze informatie up-to-date te houden voor elke sleutel die het kent.
Dit helpt OpenPGP-gebruikers om veilige en betrouwbare communicatie te onderhouden.</p>
<p>De <strong>identiteitsgegevens</strong> in een OpenPGP-sleutel
wordt alleen verspreid met toestemming.
Het bevat persoonsgegevens en is niet strikt noodzakelijk voor
een sleutel die wordt gebruikt voor codering of handtekeningverificatie.
Zodra de eigenaar toestemming geeft door zijn e-mailadres te verifiëren,
is de sleutel te vinden via zoeken op adres.</p>
<h3 id="community">Community en platform</h3>
<p>Deze service wordt uitgevoerd door gezamenlijke 'community' inspanningen.
U kunt met ons praten via
#hagrid op Freenode IRC,
ook bereikbaar als #hagrid:stratum0.org op Matrix.
Uiteraard kunt u ons ook bereiken via e-mail,
via <tt>support apenstaartje keys punt openpgp punt org</tt>.
De mensen die dit runnen, komen
van verschillende projecten in het OpenPGP-ecosysteem,
waaronder Sequoia-PGP, OpenKeychain en Enigmail.</p>
<p>Technisch,
<tt>keys.openpgp.org</tt> draait op de <a href="https://gitlab.com/hagrid-keyserver/hagrid" target="_blank">Hagrid</a> sleutelserver software,
die is gebaseerd op <a href="https://sequoia-pgp.org">Sequoia-PGP</a>.
We draaien op <a href="https://eclips.is" target="_blank">eclips.is</a>,
een hostingplatform gericht op Internet Freedom projecten,
die wordt beheerd door <a href="https://greenhost.net/" target="_blank">Greenhost</a>.</p>
</div>

View File

@ -0,0 +1,185 @@
<div class="about">
<center><h2>
<a href="/about">Over</a> | <a href="/about/news">Nieuws</a> | <a href="/about/usage">Gebruik</a> | FAQ | <a href="/about/stats">Statistieken</a> | <a href="/about/privacy">Privacy</a>
</h2></center>
<h3 id="sks-pool"><a href="#sks-pool">Maakt deze server deel uit van de "SKS" pool?</a></h3>
<p>Nee. Het federatiemodel van de SKS pool heeft verschillende problemen
op het gebied van betrouwbaarheid, weerstand tegen misbruik, privacy, en gebruiksvriendelijkheid.
We kunnen misschien overwegen iets gelijkaardig te doen,
maar <span class="brand">keys.openpgp.org</span> zal zelf nooit uitmaken van de SKS pool.</p>
<h3 id="federation"><a href="#federation">Is keys.openpgp.org gefedereerd? Kan ik helpen door een instance te draaien?</a></h3>
<p>Op het moment niet, nee.
We zijn uiteindelijk van plan om <span class="brand">keys.openpgp.org</span> te decentralizeren.
Met meerdere servers
Online bij onafhankelijke operatoren,
kunnen we hopelijk de betrouwbaarheid van deze service
nog meer verbeteren.</p>
<p>Verschillende mensen hebben hun hulp aangeboden
door het "draaien van een Hagrid server instance".
We waarderen het aanbod zeer,
maar we zullen hoogstwarschijnlijk nooit een "open" federatie model hebben zoals SKS,
waar iedereen een instance kan draaien en deel uitmaken van een "pool".
Dit is voor twee redenen:</p>
<ol>
<li>Federatie met open deelname vereist dat alle gegevens openbaar zijn.
Dit heeft een grote impact op de privacy van onze gebruikers, omdat
iedereen zo een lijst kan samenstellen van alle e-mailadressen.</li>
<li>Servers die als hobby worden gerund door informele beheerders voldoen niet aan onze
normen voor betrouwbaarheid en prestaties.</li>
</ol>
<h3 id="non-email-uids"><a href="#non-email-uids">Waarom is er geen ondersteuning
voor identiteiten welke geen e-mailadres zijn?</a></h3>
<p>We hebben expliciete toestemming nodig om identiteitsgegevens te verspreiden.
Identiteiten die geen e-mailadressen zijn, zoals afbeeldingen of website
URL's, bieden ons geen eenvoudige manier om deze toestemming te verkrijgen.</p>
<p>Opmerking: Sommige OpenPGP-software maakt sleutels met een onjuiste
e-mailadressen indeling. Deze adressen worden mogelijk niet correct herkend op
<span class="brand">keys.openpgp.org</span>.</p>
<h3 id="verify-multiple"><a href="#verify-multiple">Kan ik meer dan
één sleutel valideren voor een e-mailadres?</a></h3>
<p>Een e-mailadres kan slechts aan één sleutel worden gekoppeld.
Als een adres is geverifieerd voor een nieuwe sleutel,
zal deze in geen enkele sleutel meer verschijnen
waarvoor het eerder was geverifieerd.
<a href="/about">Niet-identiteitsgegevens</a> worden nog steeds verspreid
voor alle sleutels.</p>
<p>Dit betekent dat een zoekopdracht op e-mailadres
slechts één sleutel terug geeft ,
niet meerdere kandidaten.
Dit elimineert een onmogelijke keuze voor de gebruiker
("Welke sleutel is de juiste?"),
en maakt het vinden van sleutels via e-mail veel gemakkelijker.</p>
<h3 id="email-protection"><a href="#email-protection">Wat doen jullie om
uitgaande verificatie-e-mails te beschermen?</a></h3>
<p>We gebruiken een moderne standaard genaamd
<a href="https://www.hardenize.com/blog/mta-sts" target="_blank">MTA-STS</a>,
gecombineerd met
<a href="https://starttls-everywhere.org/" target="_blank">STARTTLS Everywhere</a>
door de EFF,
om ervoor te zorgen dat verificatie-e-mails veilig worden verzonden.
Dit beschermt tegen afluisteren en onderscheppen tijdens het afleveren.</p>
<p>Het MTA-STS mechanisme is afhankelijk van correct geconfigureerde e-mailservers.
U kunt <a href="https://www.hardenize.com/">deze test uitvoeren</a>
om te zien of uw e-mailprovider dit ondersteunt.
Als de vermelding "MTA-STS" aan de linkerkant geen groen vinkje is,
vraag uw provider dan om hun configuratie bij te werken.</p>
<h3 id="third-party-signatures">
<a href="#third-party-signatures">
Distribueren jullie "derde partij handtekeningen"?</a> </h3>
<p>In het kort: Nee.</p>
<p>Een "handtekening van derden" is een handtekening op een sleutel
dat is gemaakt door een andere sleutel.
Meestal
dat zijn de handtekeningen die worden geproduceerd bij het "ondertekenen van iemands sleutel",
die de basis vormen voor
het "<a href="https://en.wikipedia.org/wiki/Web_of_trust" target="_blank">Web of Trust</a>".
Om een aantal redenen,
worden deze handtekeningen momenteel niet verspreid
via <span class="brand">keys.openpgp.org</span>.</p>
<p>De belangrijkste reden is <strong>spam.</strong>.
Handtekeningen van derden maken het mogelijk willekeurige gegevens aan iemands sleutel toe te voegen,
en niets weerhoudt een kwaadwillende gebruiker ervan
vele megabytes 'ballast' aan een sleutel koppelen
zodat deze praktisch onbruikbaar wordt.
Erger nog,
ze kunnen aanstootgevende of illegale inhoud toevoegen.</p>
<p>Er zijn ideeën om dit probleem op te lossen.
Als voorbeeld kunnen handtekeningen worden gedistribueerd met een ondertekenaar,
in plaats van de iemand die ondertekend.
Als alternatief kunnen we ondertekening eisendoor de ondertekenaar vóór distributie
ter ondersteuning van een
<a href="https://wiki.debian.org/caff" target="_blank">caff-stijl</a>
workflow.
Als er voldoende interesse is,
staan we open voor samenwerking met andere OpenPGP-projecten
voor een oplossing.</p>
<h3 id="no-sign-verified"><a href="#no-sign-verified">Waarom geen sleutels ondertekenen?
na verificatie?</a></h3>
<p>De service <span class="brand">keys.openpgp.org</span> is bedoeld voor sleutel
distributie en vindbaarheid, niet als een certificeringsinstantie.
Clientimplementaties die geverifieerde communicatie willen aanbieden, zouden dat moeten
vertrouwen op hun eigen vertrouwensmodel.</p>
<h3 id="revoked-uids"><a href="#revoked-uids">Waarom worden ingetrokken identiteiten niet
als zodanig verdeeld?</a></h3>
<p>Wanneer een OpenPGP-sleutel een van zijn identiteiten als ingetrokken markeert
moet deze identiteit niet langer als geldig worden beschouwd voor de sleutel, en deze
informatie zou idealiter verspreid moeten worden onder alle OpenPGP-clients
weet al van de nieuw ingetrokken identiteit.</p>
<p>Helaas is er momenteel geen goede manier om intrekkingen te verspreiden,
die niet de ingetrokken identiteit zelf onthult. We willen
ingetrokken identiteiten niet verspreid, daarom kunnen we de identiteit helemaal niet verspreiden.</p>
<p>Er zijn voorgestelde oplossingen voor dit probleem, die de distributie mogelijk maken
van intrekkingen zonder ook de identiteit zelf te onthullen. Maar tot nu toe
zijn er geen definitieve specificatie of ondersteuning in enige OpenPGP-software. Wij
hoop dat er in de nabije toekomst een oplossing zal komen en hiervoor
ondersteuning kunnen toevoegen op <span class="brand">keys.openpgp.org</span> zodra
we kunnen.</p>
<h3 id="search-substring"><a href="#search-substring">Waarom is het niet mogelijk om te zoeken op een deel van een e-mailadres, zoals alleen het domein?</a></h3>
<p>Sommige sleutelservers ondersteunen het zoeken naar sleutels via een deel van een e-mailadres.
Hierdoor kunnen niet alleen sleutels worden gevonden, maar ook adressen, met een vraag als "sleutels voor adressen op gmail dot com".
Hierdoor worden de adressen van alle sleutels op die sleutelservers effectief in een openbare lijst geplaatst.</p>
<p>Een zoekopdracht op e-mailadres op <span class="brand">keys.openpgp.org</span> levert alleen een sleutel op als deze exact overeenkomt met het e-mailadres.
Op deze manier kan een normale gebruiker de sleutel ontdekken die is gekoppeld aan elk adres dat hij al kent, maar hij kan geen nieuwe e-mailadressen ontdekken.
Dit voorkomt dat een kwaadwillende gebruiker of spammer gemakkelijk een lijst met alle e-mailadressen van de server krijgt.</p>
<p>We hebben deze beperking opgenomen in ons <a href="/about/privacy">privacybeleid</a>,
wat betekent dat we dit niet kunnen wijzigen zonder toestemming van de gebruiker te vragen.</p>
<h3 id="tor"><a href="#tor">Ondersteunen jullie Tor?</a></h3>
<p>Als u Tor hebt geïnstalleerd,
kunt u <span class="brand">keys.openpgp.org</span> anoniem bereiken
als
<a href="https://support.torproject.org/onionservices/#onionservices-2" target="_blank">onion service</a>:
<br><a href="http://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion">zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion</a></p>
<h3 id="encrypt-verification-emails"><a href="#encrypt-verification-emails">
Waarom worden verificatie-e-mails niet versleuteld?</a></h3>
Verschillende redenen:
<ol>
<li>Het is ingewikkelder, zowel voor onze gebruikers als voor ons.</li>
<li>Het voorkomt aanvallen niet - een aanvaller heeft geen voordeel bij
het uploaden van een sleutel waar men geen toegang tot heeft.</li>
<li>Verwijderen zou nog steeds mogelijk moeten zijn, zelfs als er een sleutel is
verloren.</li>
<li>Het zou een ander (en ingewikkelder) mechanisme vereisen voor
het uploaden sleutels die alleen kunnen ondertekenen.</li>
</ol>
<h3 id="older-gnupg"><a href="#older-gnupg">
Ik heb problemen met het updaten van sommige sleutels met GnuPG. Is er een bug?
</a></h3>
<p>Dit is een probleem met de huidige versies van GnuPG. Als je het probeert
een sleutel te update op <span class="brand">keys.openpgp.org</span> die
geen <a href="/about">identiteitsgegevens</a> bevat, zal GnuPG weigeren
om de sleutel te verwerken:</p>
<blockquote>$ gpg --receive-keys EB85BB5FA33A75E15E944E63F231550C4F47E38E1<br>
gpg: key EB85BB5FA33A75E15E944E63F231550C4F47E38E: geen gebruikers-ID</blockquote>
<p>We werken met het GnuPG team samen om dit probleem op te lossen.</p>
</div>

View File

@ -0,0 +1,52 @@
<div class="about">
<center><h2>
<a href="/about">Over</a> | <a href="/about/news">Nieuws</a> | <a href="/about/usage">Gebruik</a> | <a href="/about/faq">FAQ</a> | <a href="/about/stats">Statistieken</a> | Privacy</h2></center>
<p style="text-align: left;">De openbare sleutelserver die draait op keys.openpgp.org verwerkt, bewaard en
verspreidt OpenPGP-sleutelgegevens. De specifieke manier waarop gegevens worden verwerkt
verschilt per type als volgt:</p>
<ul>
<li>
<b>E-mailadressen</b><p>E-mailadressen in <abbr title="Packet Tag 13">Gebruiker
ID's</abbr> zijn persoonlijk identificeerbare informatie (PII).
Er wordt speciaal op gelet dat ze alleen worden gebruikt met
toestemming:</p>
<ul>
<li>Publicatie vereist <a target="_blank" href="https://en.wikipedia.org/wiki/Opt-in_email#Confirmed_opt-in_(COI)_/_Double_opt-in_(DOI)">dubbelle
opt-in</a> validatie, als bewijs van eigendom van het
e-mailadres in kwestie.</li>
<li>Adressen zijn doorzoekbaar op exact e-mailadres,
maar niet met bijbehorende naam.</li>
<li>Opsomming van adressen is niet mogelijk.</li>
<li>Het verwijderen van adressen is mogelijk via eenvoudig bewijs
van eigendom op een geautomatiseerde manier, vergelijkbaar met
publicatie. Om een adres te verwijderen waar dit niet mogelijk is,
schrijf naar support apenstaartje keys punt openpgp punt
org.</li>
</ul>
<p>Deze gegevens worden nooit collectief ("als een dump") aan derden partijen
overgedragen.</p>
</li>
<li>
<b>Openbare sleutels gegevens</b><p>De cryptografische inhoud van OpenPGP-sleutels wordt niet persoonlijk beschouwd
identificeerbare informatie. Dit omvat specifiek
<abbr title="Packet Tags 6 and 14">openbare sleutel gegevens</abbr>,
<abbr title="Packet Tag 2, Signature types 0x10-0x13, 0x18, 0x19, 0x1F">zelfhandtekeningen</abbr> en
<abbr title="Packet Tag 2, Signature types 0x20, 0x28, 0x30">intrekkingshandtekeningen</abbr>.</p>
<p>Deze gegevens zijn meestal niet collectief beschikbaar ("als
een dump"), maar kan op verzoek aan derden partijen worden overhandigd
voor ontwikkelingsdoeleinden of onderzoek.</p>
</li>
<li>
<b>Andere gebruikers-ID-gegevens</b><p>Een OpenPGP-sleutel kan andere persoonlijke gegevens dan
e-mailadressen, zoals <abbr title="Packet Tag 13">gebruikers-ID's</abbr>
die geen e-mailadressen zijn of <abbr title="Packet Tag 17">afbeeldingskenmerken</abbr> bevatten. Deze gegevens worden gestript
tijdens het uploaden en nooit opgeslagen, verwerkt of gedistribueerd op
welke manier dan ook.</p>
<p>OpenPGP-pakkettypen die hierboven niet specifiek zijn genoemd, worden
gestript tijdens het uploaden en nooit opgeslagen, verwerkt of
verdeeld op welke manier dan ook.</p>
</li>
</ul>
<p style="text-align: left">Gegevens worden nooit gedeeld met derden buiten wat beschikbaar is via de <a href="/about/api">openbare API-interfaces</a> en wat wordt beschreven in dit beleid.</p>
</div>

View File

@ -0,0 +1,31 @@
<div class="about">
<center><h2>
<a href="/about">Over</a> | <a href="/about/news">Nieuws</a> | <a href="/about/usage">Gebruik</a> | <a href="/about/faq">FAQ</a> | Statistieken | <a href="/about/privacy">Privacy</a>
</h2></center>
<h3>Geverifieerde e-mailadressen</h3>
<p>Een eenvoudige statistiek van het totale aantal e-mailadressen dat momenteel is geverifieerd. 📈</p>
<p>
</p>
<center><img src="/about/stats/month.png"></center>
<p>
</p>
<center><img src="/about/stats/year.png"></center>
<h3>Gemiddelde belasting</h3>
<p>De "gemiddelde belasting" van een server is een statistiek van hoe druk het is. Simpel gezegd:</p>
<ul>
<li>0.0 betekent dat de <span class="brand">keys.openpgp.org</span> server volledig inactief is</li>
<li>1.0 is redelijk druk</li>
<li>4.0 en hoger betekent dat het in brand staat 🔥</li>
</ul>
<p>
</p>
<center><img src="/about/stats/load_week.png"></center>
</div>

View File

@ -0,0 +1,30 @@
<div class="about">
<center><h2>О сервисе| <a href="/about/news">Новости</a> | <a href="/about/usage">Использование</a> | <a href="/about/faq">FAQ</a> | <a href="/about/stats">Статистика</a> | <a href="/about/privacy">Конфиденциальность</a>
</h2></center>
<p>Сервер<tt>keys.openpgp.org</tt> является общедоступной службой для распространения и поиска OpenPGP-совместимых ключей, обычно называемый "keyserver".</p>
<p><strong>Для инструкций смотрите наше <a href="/about/usage">руководство пользования</a>.</strong></p>
<h3>Принцип работы</h3>
<p>OpenPGP ключ содержит два типа информации:</p>
<ul>
<li>
<strong>Идентификационная информация</strong> является частью ключа идентифицируещая его владельца, также известная как "идентификаторы пользавателя". Идентификатор пользователя обычно содержит имя и адрес электронной почты.</li>
<li>
<strong>Неидентификационная информация</strong> — это все технические данные о самом ключе. Они включают в себя большие числа, используемые для проверки подписей и шифрования сообщений. А также метаданные, такие как дата создания, некоторые даты истечения срока действия и статус отзыва.</li>
</ul>
<p>Традиционно эта информация распространялась вместе. На <span class="brand">keys.openpgp.org</span> с ней обращаются по-другому. Притом, что каждый может загрузить все части любого OpenPGP ключа на <span class="brand">keys.openpgp.org</span>, наш keyserver сохранит и опубликует только определённые части при определённых условиях:</p>
<p>Любая <strong>неидентификационная информация</strong> будет храниться и беспрепятственно распространяться, если пройдет криптографическую проверку на целостность. Любой человек может загрузить эти части в любое время, так как они содержат только технические данные, которые не могут быть использованы для непосредственной идентификации человека. Хорошие OpenPGP программы могут использовать <span class="brand">keys.openpgp.org</span> для поддержания этой информации в актуальном состоянии для любого, им известного, ключа. Это помогает пользователям OpenPGP поддерживать безопасную и надежную связь.</p>
<p><strong>Идентификационная информация</strong> в ключе OpenPGP распространяется только с согласия. Она содержит персональные данные и не является строго необходимой для шифрования или проверки подписи. После того, как владелец дает согласие, проверив свой адрес электронной почты, ключ можно найти при помощи поиска по адресу.</p>
<h3 id="community">Сообщество и платформа</h3>
<p>Этот сервис существует на общественных началах. Вы можете связаться с нами в канале #hagrid на Freenode IRC, а также в канале #hagrid:stratum0.org на Matrix. Конечно, вы также можете воспользаваться электронной почтой по адресу <tt>support эт keys пункт openpgp пункт org</tt>. Люди, запустившие этот сервис, пришли из различных OpenPGP проектов, таких как Sequoia-PGP, OpenKeychain и Enigmail.</p>
<p>Технически, <tt>keys.openpgp.org</tt> работает на <a href="https://gitlab.com/hagrid-keyserver/hagrid" target="_blank">Hagrid</a> софте, который базируется на <a href="https://sequoia-pgp.org">Sequoia-PGP</a>. Мы работаем на хостинговой платформе <a href="https://eclips.is" target="_blank">eclips.is</a>, ориентированной на Internet Freedom проекты, под управлением <a href="https://greenhost.net/" target="_blank">Greenhost</a>.</p>
</div>