一.摘要
二.Abstract
三.前言
1.研究動機
四.使用者需求分析
五.研究與方法(文獻探討)
1.RFID技術
2.PKI技術
六.系統架構
七.系統評估
八.結論
九.參考文獻
-------------------------
大概這樣吧!要改再討論吧
NCHU MIS 99 級畢業專題 RFID 系統開發部落格
# Generated by iptables-save v1.4.1.1 on Tue Aug 25 12:57:50 2009
*filter
:INPUT DROP [2858:374901]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [186:47949]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Tue Aug 25 12:57:50 2009
pre-up iptables-restore < /etc/iptables.up.rule
<!-- enable persistent sessions -->
−
<session-config>
<save-mode>after-request</save-mode>
<use-persistent-store/>
</session-config>
−
<!--
增加save-mode這個child
並設定其質為after-request
一有request就存進去
解決這問題
(題外 管理介面有做一些小變更 包含登入驗證等頁面改變 可以去看看?)
<?php
$message = 'test'; // Original Message
try {
$dbh = new PDO('mysql:dbname=FAST;host=127.0.0.1', 'user', 'pass');
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
$sth = $dbh->prepare('SELECT `Public_Key` FROM XXX WHERE ID = ?');
$sth->bindParam(1, $tagID, PDO::PARAM_STR, 8);
$sth->execute();
$row = $sth->fetch();
$pubkeyid = openssl_get_publickey($row['Public_Key']);
// state whether signature is okay or not
$ok = openssl_verify($message, base64_decode($_POST['sigData']), $pubkeyid);
if ($ok == 1) {
echo "good";
} elseif ($ok == 0) {
echo "bad";
} else {
echo "ugly, error checking signature";
}
// free the key from memory
openssl_free_key($pubkeyid);
?>
public static byte[] signature(byte[] data){
try{
AsymmetricCipherKeyPair keyPair;
using(var reader = File.OpenText(@"D:\Programs\OpenSSL\user1.key")) { // Direct read pem format RSA private key file
keyPair = (AsymmetricCipherKeyPair) new PemReader(reader).ReadObject();
}
RsaDigestSigner rds = new RsaDigestSigner(new Sha1Digest());
rds.Init(true, keyPair.Private);
rds.BlockUpdate(data, 0, data.Length);
return rds.GenerateSignature();
}catch(Exception e){
throw new IOException("problem creating private key: " + e.ToString());
}
}
public static bool verify(byte[] message, byte[] sig){
var crt = new X509Certificate2(@"D:\Programs\OpenSSL\user1.crt"); // Read X509 Certificate file
var rsa = (RSACryptoServiceProvider) crt.PublicKey.Key; // Get public key
return rsa.VerifyData(message, "SHA1", sig);
}