Czy to możliwe? Tak oto garść linków:
- Neutralny - http://point-at-infinity.org/jsaes/
- Przeciw - http://www.matasano.com/articles/javascript-cryptography/
- Entuzjastyczny (projekt GOOGLE!) - http://code.google.com/p/crypto-js/
Czy to możliwe? Tak oto garść linków:
Aplikacje mobilne mogą być lokalne to znaczy takie, które korzystają wyłącznie z zasobów lokalnych urządzenia (np. gry), inny typ to aplikacje które wykorzystując przeglądarkę umożliwiają oglądanie stron Internetowych (a poprzez nie aplikacji webowych). Jest to taka sama sytuacja jak na desktopie. Innym rozwiązaniem jest utworzenie aplikacji lokalnej korzystającej z zasobów sieciowych poprzez usługi typu SOAP lub lepiej REST czyli w sposób niewidoczny dla użytkownika łącząca się z zasobami internetowymi. W tym przypadku aplikacja nie musi mieć lokalnej bazy – wszystko przechowuje w sieci w tzw. chmurze.
16 kwietnia 2013
16:02
Środa 16
· Biblioteka PDFTK - http://www.pdflabs.com/docs/pdftk-man-page/ - pomysł: wykorzystanie jej do dodania do samego dokumentu PDF treści dodatkowej w postaci załącznika (attachement). Do tego służą opcje: attache_files i unpack_files.
· Mam opanowane składanie podpisu pod PDF przy pomocy iText pod Windows (w C#). Teraz pora na rozwiązania tego w Javie. Oba te rozwiązania mogą posłużyć jako serwery podpisujące dokumenty elektroniczne naszych klientów.
· Brakuje rozwiązania podpisywania dokumentów w MS Office. Wtedy byłaby pełna komplementarność podpisywani różnych formatów dokumentów.
· Podobnie podpis HTML i innych formatów - biblioteka KIR-u. Przy jej pomocy można podpisywać dowolne dokumenty, ale można też wykorzystać jej możliwości np. podpisywanie bardziej egzotyczne dokumentów z załącznikami. Jej wada to konieczność poznania miejsca lokalizacji jej sterowników
· Co z PEMI/FORIJA/XADES w .NET - przynajmniej do weryfikacji
· Można też napisać własnego klienta do podpisywania z GIU w Javie (zamiast apletu)
// http://msdn.microsoft.com/en-us/library/system.identitymodel.selectors.usernamepasswordvalidator.aspx
using System;
using System.IdentityModel.Selectors;
using System.IdentityModel.Tokens;
using System.Security.Principal;
using System.ServiceModel;
public class MyCustomUserNameValidator : UserNamePasswordValidator
{
// This method validates users. It allows two users, test1 and test2
// with passwords 1tset and 2tset respectively.
// This code is for illustration purposes only and
// MUST NOT be used in a production environment because it is NOT secure.
public override void Validate(string userName, string password)
{
if (null == userName || null == password)
{
throw new ArgumentNullException();
}
if (!(userName == "test1" && password == "1tset") && !(userName == "test2" && password == "2tset"))
{
throw new SecurityTokenException("Unknown Username or Password");
}
}
}
================
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="Binding1">
<security mode="Message">
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
</bindings>
</system.serviceModel>
=================
Popielec, z posypaną popiołem głową takie oto znalazłem ciekawe linki:
function StartTimer ($what='') {
global $MYTIMER; $MYTIMER=0; //global variable to store time
//if ($_SERVER['REMOTE_ADDR'] != '127.0.0.1') return; //only show for my IP address
echo '<p style="border:1px solid black; color: black; background: yellow;">';
echo "About to run <i>$what</i>. "; flush(); //output this to the browser
//$MYTIMER = microtime (true); //in PHP5 you need only this line to get the time
list ($usec, $sec) = explode (' ', microtime());
$MYTIMER = ((float) $usec + (float) $sec); //set the timer
}
function StopTimer() {
global $MYTIMER; if (!$MYTIMER) return; //no timer has been started
list ($usec, $sec) = explode (' ', microtime()); //get the current time
$MYTIMER = ((float) $usec + (float) $sec) - $MYTIMER; //the time taken in milliseconds
echo 'Took ' . number_format ($MYTIMER, 4) . ' seconds.</p>'; flush();
}