2013-03-26 3 views
2

Я хочу создать javascript-библиотеку для подписания сообщений. Я ожидаю, что формат будет ...Стандартный формат для цифровой подписи

--- BEGIN SIGNED MESSAGE --- 
This is a plain old message 
It goes on and on... 
--- BEGIN RSA OF SHA1 --- 
Base64Stringassfd86asdf870n8 
09as8d76fn098== 
--- END SIGNED MESSAGE --- 

Но я не знаю правильный формат. Я мог бы реплицировать PGP-формат (я уверен, что нетрудно найти информацию об этом), но я бы предпочел использовать стандартный метод, если он есть.

Существует ли стандартный формат для такого подписанного сообщения?

+0

Duncan Jones хорошо рассказал о доступных стандартных форматах, и я предлагаю вам попытаться использовать все, что уже сделано - без серьезного знания безопасности и PKI вы можете легко совершить ошибку, связанную с безопасностью. И вы наверняка прочитали статьи о том, почему криптовация javascript - плохая идея, не так ли? –

ответ

3

Cryptographic Message Syntax (a.k.a PKCS # 7) - очень часто используемый формат для подписанных данных. Он также поддерживает шифрование и аутентификацию содержимого полезной нагрузки, поэтому это немного убер-формат. Недостатком является сложность внедрения - the specification может быть утомительным для траления, и вам нужно быть комфортно работать с ASN.1.

OpenPGP format, вероятно, будет проще реализовать и более читаемым для человеческого глаза (ASN.1 не будет видно). Это может быть лучшим выбором для простоты. Опять же, у вас будет возможность добавить шифрование на более позднюю дату, если вы этого захотите. Тем не менее, спецификация может быть одинаково раздражающей для работы - я никогда не сталкивался с RFC, который был так ... неточным раньше.

+0

OpenPGP не проще, чем PKCS # 7 (кроме вас * часто * см. Base64-кодированные данные, а не двоичные). –

+0

@ EugeneMayevski'EldoSCorp Внедрив части обоих стандартов, я не согласен. Однако это может быть связано с моими собственными способностями к различным задачам программирования. Это, конечно, мое субъективное мнение. –

+0

Ну, мы реализовали их (и многое другое) полностью в библиотеке (SecureBlackbox). Реализация части проще, и вы можете опустить некоторые сложные вещи. Конечно, PKI в целом намного шире (и сложнее), чем OpenPGP, но если мы сравниваем PKCS # 7 с OpenPGP-шифрованием/подписью, то они имеют одинаковую сложность. –

-1

Цифровая подпись - это математическая схема для демонстрации подлинности цифрового сообщения или документов. Действительная цифровая подпись дает основание для получателя полагать, что сообщение было создано известным отправителем, так что они не могут отказать в его отправке (аутентификация и отказ от отказа) и что сообщение не было изменено в пути (целостность). Цифрово подписанные сообщения могут быть любыми, представляемыми как битовая строка: примеры включают электронную почту, контракты или сообщение, отправленное через какой-либо другой криптографический протокол. подробнее ..Нажмите Hare .. How do i get a digital signature

1

Для завершения, W3C XML Signature, это немного проще с точки зрения синтаксиса и кодирования, но требует, чтобы конечные данные были в XML.

Смежные вопросы