Как самостоятельно подписать утверждение OpenSAML для версии SAML 2.0 с помощью java?

Я могу создать утверждение с помощью OpenSAML, но я хочу его подписать. Подписание можно выполнить двумя способами: 1. Самостоятельно
2. С помощью третьей стороны (verisign и т. д.)

Каковы шаги для самостоятельной подписи утверждения с помощью OpenSAML?


person user1615128    schedule 21.08.2012    source источник
comment
Что вы пробовали до сих пор?   -  person martijno    schedule 21.08.2012
comment
Я создал утверждение с помощью OpenSAML и теперь пытаюсь его подписать. Я искал в Google, а также просмотрел документацию OpenSAML, но не нашел способа самостоятельно подписать утверждение.   -  person user1615128    schedule 21.08.2012


Ответы (2)


Чтобы самостоятельно подписать утверждение, вам нужен файл jks. Вот инструкции по созданию файла jks:

  1. Откройте командную консоль в любой операционной системе, которую вы используете, и перейдите в каталог, где находится keytool.exe (обычно там, где находится JRE, например, c:\Program Files\Java\jre6\bin на компьютерах с Windows).
  2. Выполните следующую команду (где срок действия — это количество дней до истечения срока действия сертификата): keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
  3. Заполните подсказки для информации о вашей организации. Когда он запросит ваше имя и фамилию, введите доменное имя сервера, который пользователи будут вводить для подключения к вашему приложению (например, www.google.com)

Используйте этот файл jks для самостоятельной подписи утверждения. Для самоподписания вы можете использовать пример по следующей ссылке.

person Sandeep    schedule 21.08.2012

Поиск в Google для opensaml, java, sign assertion дает полные примеры кода подписывающей части. Используйте openssl или keytool для создания пары ключей и сертификата.

person martijno    schedule 21.08.2012
comment
Я уже проходил этот пример. В этом примере он использовал файл idpcert.jks для получения хранилища ключей. Как я могу получить этот файл? Также этот способ сделать самоподписание утверждения? - person user1615128; 21.08.2012
comment
Да, jks — это хранилище ключей Java. Вы создаете их с помощью команды keytool, которая является частью JDK. Откройте окно команды DOS и введите keytool -help. - person martijno; 21.08.2012
comment
На самом деле я новичок в jks. Можете ли вы предоставить мне инструкции по созданию файла jks? Также какие сертификаты мне нужно добавить в этот файл? Спасибо. - person user1615128; 21.08.2012
comment
Keytool описан здесь: docs.oracle.com/javase /7/docs/technotes/tools/windows/. Вы создаете эти сертификаты самостоятельно. Лично я предпочитаю для этого openssl: openssl.org. - person martijno; 21.08.2012
comment
Ответ resp = SAMLWriter.getSamlAssertion(); где реализован этот метод? - person Pra_A; 17.04.2015