Этот парень (), кажется, записал немного класса Java и пакетного файла с хорошими инструкциями сделать это здесь: http://www.crionics.com/products/opensource/faq/signFree.htm#DownloadTools
, Если Вы хотите сделать это сами, ключевые строки в .bat файле, кажется, использование
keytool -export -rfc -keystore %KEYSTORE% -storepass %PASSWORD% -alias %ALIAS% > %CERT_64%
java -classpath %JAVACLASSPATH% ExportPrvKey %KEYSTORE% %PASSWORD% %ALIAS% > %PKEY_8%
openssl enc -in %PKEY_8% -a >> %PKEY_64%
openssl pkcs12 -inkey %PKEY_64% -in %CERT_64% -out %CERT_P12% -export
, где ExportPrvKey делает шаг извлечения закрытого ключа от keystore.
Существуют различные документы, описывающие структуры данных и алгоритмы для этого варианта использования. Кроме того, вы можете увидеть код или описания реализации с открытым исходным кодом crontab и Quartz (Java) или Quartz.NET (.NET).
] Это одна из таких статей
http://portal.acm.org/citation.cfm?id=359763.359801&coll=ACM&dl=ACM&CFID=63647367&CFTOKEN=55814330
Например, cron хранит такую информацию ( *
означает каждый, поэтому *
под месяц означает каждый месяц)
.---------------- minute (0 - 59) | .------------- hour (0 - 23) | | .---------- day of month (1 - 31) | | | .------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat | | | | | * * * * * There are several special entries, most of which are just shortcuts, that can be used instead of specifying the full cron entry: Entry Description Equivalent To @reboot Run once, at startup. None @yearly Run once a year 0 0 1 1 * @annually (same as @yearly) 0 0 1 1 * @monthly Run once a month 0 0 1 * * @weekly Run once a week 0 0 * * 0 @daily Run once a day 0 0 * * * @midnight (same as @daily) 0 0 * * * @hourly Run once an hour 0 * * * *
Event: StartDate EndDate (calculated on change of NumberOfOccurances) NumberOfOccurances (calculated on change of EndDate ) Frequency e.g. 1/2hrs, 1/month, 1/day, .... CorrectionFunction e.g. first Tuesday, last Sunday, ... bool OccuresOn(day) Date NextOccurance(date)
Поддержка стандартных iCalendar Event types
IETF задумалась над этим при создании Internet Calendaring and Scheduling Core Object Specification, более известного как iCalendar.
Спецификация включает в себя повторение событий.
В качестве дополнительного бонуса ваша база данных будет доступна для обмена данными с другими источниками данных, совместимыми с iCalendar, такими как календари Google и Apple.