Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: 870408-6654. Skola: DSV



Relevanta dokument
Så här gör du för att lägga till nytt e-postkonto i Windows 8. Öppna E-post från startskärmen.

Valet 2010 på facebook!

Valet 2010 på facebook!

VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD

Elisabeth Bejefalk IT-Assistent Avesta kommun

Slutrapport för JMDB.COM. Johan Wibjer

Slutrapport YUNSIT.se Portfolio/blogg

Aditro HR Portalen - logga in och byta lösenord

Instruktion för att slutföra registreringen

Steg 1 Starta Outlook 2013 och öppna konfigurationsguiden

Att komma igång med FirstClass (FC)!

Krypteringsprogrammet Kryptogamen

1. Att lyssna 1. Titta på den som talar. 2. Tänk på vad som sagts. 3. Vänta på min tur att prata. 4. Säg det jag vill säga. 1.

Projekt i Nätverksprogrammering. MegaNet Handledare: Pierre Nugues

ELEVHJÄLP. Diskussion s. 2 Åsikter s. 3. Källkritik s. 11. Fördelar och nackdelar s. 4. Samarbete s. 10. Slutsatser s. 9. Konsekvenser s.

LATHUND FÖR MALVIN. 1 Registrera ny användare Logga In Glömt lösenord Annonsering Skapa annons...

Lathund GUL Lärare. Allmänt. Hur du presenterar Dig själv för kursdeltagarna. Hur du lägger upp din kontaktlista

PDA-applikationer med.net

Krypteringteknologier. Sidorna ( ) i boken

Routerinställning. Denna guide tar dig genom de enkla steg som behövs för att ställa in routern så den fungerar trådlöst.

19. Skriva ut statistik

KOMMUNALT AKTIVITETSMEDLEMSBIDRAG

Enkätsvar Fler kvinnor. Enkätsvar 2013 Kyrkans Familjerådgivning Stockholm

Inställningar. Ljudinställningar

E-post för nybörjare

Storlek och typsnitt: Titel

Innehållsförteckning. Manual WebCT

Det finns möjlighet att skicka SMS från ett flertal ställen i Rebus-systemet, detta dokument går igenom alla ställen där det fungerar.

Lumbago - Förord. Välkommen till Journalprogrammet Lumbago.

HOGIA skatteanalys. Installationsguiden startar med en välkomstdialog för produkten. Klicka på Nästa.

Lösenordet till dator, mejl och självservice

Mäta effekten av genomförandeplanen

KeyControl Efterbeställning av nycklar och cylindrar

Lathund Web Help Desk

Slutrapport för Pacman

Kursutvärdering Ämne: SO Lärare: Esa Seppälä/Cecilia Enoksson Läsåret Klass: SPR2

Så här fungerar registreringen i Malmö stads Odlingsslottskö

Microsoft Publisher. Laborationskompendium för digital behandling av publikationer. Detta exemplar tillhör:

Manual för att registrera i Kvalitetsregister PsykosR

ProReNata Journal. Snabbstart

Peter Ottosson 31/ Introduktionskurs i datateknik II1310

Extra inställningar i Mozilla Thunderbird

Lagadministration Linda Emterby

E-post, chat mm. E-post, chat mm. E-post, chat mm. E-post, chat mm. E-post, chat mm. E-post, chat mm

Användarguide för anslutning till Treserva och TES Användarguide för anslutning till Treserva och TES

1DV433 HT13. I vilken utsträckning har kursens innehåll och uppläggning gett förutsättningar för att du ska ha uppnått respektive lärandemål?

Lathund, till Photo Story, för skräckslagna lärare

Lära känna skrivbordet

Kapitel 2 Brevet Nästa dag gick Lisa och jag ner i källaren igen. Då såg vi ett brev. Lisa öppnade brevet. På brevet stod det: Hej, vi bor i ett

Lathund. Söka patienter i Tandvårdsfönster

Språkäventyret. Mål. Verktyg. Inledande arbete

Guide till Jordbruksverkets E-tjänst Ansökan Steg 1

ANVÄNDARMANUAL HUR INSTALLERA JAG MOBILEPASS PÅ MIN TELEFON ELLER WINDOWS DATOR

Steg 4 b. Molntjänster Onedrive Office 365 Windows 10. Mars -16 Liljedalsdata.se. Liljedalsdata Molntjänster En del av steg 4 Sida 1

Kapitel 1 - Hej Hej jag heter Lisa och går på Hästskolan. Min bästa vän heter Wilma. Jag tycker att vår rektor är lite läskig. Hon heter Svea och hon

Utvärdering av föräldrakurs hösten 2013

Kundportal. Kundportal - Användarhandledning

Åtkomst och användarhandledning

Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]

Välkommen som Mystery Shopper hos Servicemind A/S

Antal svarande i kommunen 32 Andel svarande i kommunen, procent 43 Kategorier ångest? Mycket dåligt Totalt Nej. Någorlunda. Mycket gott.

Komma igång med Eventor

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Flytt av e-post till OCS

Manual för version V2

Post Mortem för Get The Treasure!

Lyssna, stötta och slå larm!

Hämta hem 2005 års installationspaket från Skatteverkets hemsida:

Att genomföra ett e-postutskick till klubbens medlemmar

{ karriär & ledarskap }

VASS HBI Användarmanual

Kom igång med ArcGIS Online - Snabba steg för att börja arbeta

Artiklar via UB:s sö ktja nst

Manual C3 BMS för Android-telefoner

Se inkomna olästa meddelanden

6-stegsguide för hur du tänker positivt och förblir positiv.

Användarmanual Mina sidor Timvärden

Installationsanvisning för PI-Utbildningar

MEDBORGARPANEL Nummer 1 - Juli 2013 Tillgänglighet i vården

Ett digitalt läromedel i artkunskap för åk 3-4. Lärarhandledning

Skräddarsytt bibliotek

Några övningar att göra

Viktigt att ta kontroll över samtalet från början:

Kapitel 1 - Hej Hej, jag heter Lisa och är 9 år. Jag har en vän som heter Julia. Vi går på samma skola, den heter Bokskolan. Det finns någon som jag

Webbkamera från

Låt eleverna öva på att dra slutsatser om textens handling genom att leta ledtrådar i texten.

Lär dig sökmöjligheterna i Disgen 8

Detta sätt lämpar sig bra om man bara kort vill kommentera den inlämnade uppgifter som helhet. Gör så här:

Klicka på en sökrad för att få fram hänvisningar, fullständig information och möjlighet att skicka meddelande via e-post eller sms.

Guide Flytta / Kopiera / Ta bort en kategori

ipad och AdobeReader

Instruktion

Jag rek. starkt att alla uppgraderar sin TomTom till version 5 eller högre då massor av nya funktioner och en betydande prestandaskillnad finns.

Din manual MCAFEE TOTAL PROTECTION

INNEHÅLLSFÖRTECKNING. Version 1

Användarhandbok - attest. Egenrapportering

SDC Web-Access. Installationsanvisning v 2.0.2

Anmälan till Swedbanks kontoregister via e-legitimation

GYMKEEPER ANDREAS SÖDERSTRÖM

Litteraturvetenskap Ger dig en akademisk grund att stå på

Transkript:

Gesäll provet Internetprogrammering I Författare: Henrik Fridström Personnummer: 870408-6654 Skola: DSV Val av uppgift: En e-mail applikation med kryptering Bakgrund: Som sista uppgift i kursen Internetprogrammering valde jag att göra en e-mail applikation med kryptering. Detta då jag har ett intresse av säkerhet sedan innan och det lät som något roligt att prova på. Jag hade ingen erfarenhet att jobba med javamail sedan tidigare och jag har endast applicerat kryptering på e-mail sedan tidigare genom redan gjorda applikationer. Förgrundsarbete: Vad jag behövde göra först var att kolla upp vilka sätt man kan skicka mail. Jag började försöka utgå från kursens demoprogram som finns på sidan men då jag inte kunde skicka eller ta emot med detta fick jag gå efter andra exempel på internet. Jag lärde mig vilka protokol det går att amvända och bestämde mig tidigt för smtp för att skicka mail, och pop3 för att ta emot. Dessa då de är väl utbredda och används av Hotmail, vilken var den e-mail operatör jag använde mig av för testning under utvecklandet av applikationen. Jag kollade sen på vilka algoritmer som fanns att använda för krypteringen. Då det på sidan i en av de frivilliga uppgifterna efterfrågas stark kryptering (jag har inte gjort denna uppgift), så letade jag efter en algoritm som var hyfsat stark. Jag valde AES då jag sedan tidigare vet den är stark och det inte var för mycket arbete att applicera denna. Själva GUit gjordes för att efterlikna demo programmet för e-mail på kursens hemsida (jag har inte heller gjort denna frivilliga uppgift) då denna såg ut att vara en bra grund att gå på. Några ändringar behövdes göras för att bättre passa min tolkning av uppgiften. Programmet i sitt slutform:

Utförande: All kod för mail delen skrevs med paketet javamail som grund. Jag kollade upp vad som krävdes av mail operatören vilket var auktorisering av en typ för för sändning av mail och en typ för mottagning av mail. Delen att sända var enkel då processen att sätta upp en connection är ganska rakt på sak och ända riktiga problemet var att få auktoriseringen att fungera, något som behövs om man vill skicka mail genom Hotmail. Att skapa ett meddelande var desto enklare. När det sedan kom till att ta emot mail behövdes processen att hämta mail från sin inkorg, något som görs genom Folder i javamail biblioteket. Auktoriseringen behövdes här göras nästan helt olik den vid sändning då SSL krävdes. Att sen läsa av meddelanden var väldigt enkelt. Det skulle i alla fall ta upp mot 6 timmar innan mail kunde skickas och tas emot utan problem. Properties sätts ut för att skapa möjlighet att auktorisera sig. Password Authentication under var också viktig för att kunna koppla upp sig mot mail servern. Här skapas ett Message som sedan fylls med all information mailet behöver. När detta är klart skapas ett Transport objekt som man använder för att göra kopplingen till servern. Här ovan ställs properties in för SSL så att man kan auktorisera sig mot en pop3 server för att hämta mail

En del av kod som tar ut meddelandet genom en Folder Delen med kryptering var den som kom efter och jag använde till denna paketet crypto som innehåller komponenterna för nycklar, chiffer, och nyckel generator. Att sedan sätta ihop koden var inte för svårt om man känner till hur kryptering med nycklar fungerar. Jag ska inte säga att jag inte hade några problem för jag satt flera timmar och felsökte, men lyckades tillsist klura ut allt. Jag valde att ha alla nycklar på fil i metoden att den filen kan delas av de som vill kunde skriva och ta emot krypterade meddelanden till varandra. Det finns såklart mer avancerade metoder för detta, samt mera avancerade metoder för att kryptera starkare, men jag tyckte ändå jag skapade något enkelt att använda, förstå och samtidigt effektivt nog för en applikation i det här laget. En del av koden när nyckeln skapas Ciffret initiateras och kodas för att skickas. Själva strängen text som är meddelandet krypteras sen Det sista jag gjorde var UI:et som är ett enkelt GUI med olika komponenter för textinmatning och mottagande samt action listeners för de olika funktionerna. I princip fanns det ett par text rutor för uppgifter till att auktorisera sig, en textruta för att skriva sitt e-mail och få sitt e-mail uppskrivet, samt möjligheten att välja om man ville ta emot eller skicka. Jag valde inte att ta med attachments då jag

kände applikationen redan hade det viktigaste för att visa kryptering av e-mails. Mer skulle vara fullt möjligt att ha med, men onödigt då som sagt det viktigaste i min mening redan fanns i programmet. Slutsats: Jag är nöjd med det program jag gjort som min gesäll prov och tycker att det varit väldigt lärorikt. Jag har sett massor av sätt som jag skulle kunna förbättra mitt program och vill gärna jobba vidare på allt med kryptering. Jag känner inte heller detta skulle vara för svårt för mig då denna start projekt har lärt mig grunderna. Det finns ett flertal sätt man kan förbättra krypteringen samt många sätt för att hantera e-mail bättre. Något som skulle vara absolut roligast skulle vara att sätta upp en egen server för att skicka mail samt fiffla med metoder att dela nycklar genom e-mail. Guide till programmet: Att skicka ett mail är väldigt enkelt. Du klickar bara i krysset Send till vänster, och sen fyller du i alla uppgifter. När du är klar klickar du sen send : Dyker detta meddelande upp ovanför text rutan så har meddelandet skickas Skulle du däremot till exempel glömma skriva in servern eller fel namn på servern kommer istället detta meddelande fram

Om programmet körs i terminal visas också System.out.println utskrifterna som visar det färdiga meddelandet samt hur den krypterade texten ser ut längs ner Klickar du nu istället in krysslådan recieve kommer delar av GUI:et ändras för att representera detta. Tex kommer To och Subject bli utsuddade då dessa inte används för att ta emot mail. De andra återstår däremot och du får ändra dessa efter hur du vill hämta din mail.

Du kommer nu se meddelandet som du tog emot senast okrypterat igen på skärmen. Också nu kan du se ett meddelande message recieved eller om det blivit fel något i stil med error message not recieved : System.out.println i programmet skriver ut lite mer ingående information om datan, se ovan för exempel: Av: Henrik Fridström