Avancerad SSL-programmering I

Storlek: px
Starta visningen från sidan:

Download "Avancerad SSL-programmering I"

Transkript

1 Tekn.dr. Göran Pulkkis Överlärare i Datateknik Avancerad SSL-programmering I Innehåll SSL-sessioner Förnyad SSL-handskakning Blockerad/oblockerad in/uthantering

2 SSL-sessioner Session skapas vid en SSL-handskakning såsom parametrar och krypteringnycklar i en SSL_SESSION post Identifieras med session ID context, som kan skapas av en SSL-server med SSL_CTX_set_session_id_context() En session ID context behövs för att en session skall kunna sparas ( session caching ) Grundinställningar för SSL-server: en session sparas i minnet en sessions maximala livslängd är 300 s föråldrade sessioner avlägsnas automatiskt Förbindelse en kommunikationprocess baserad på en session SSL-sessioner / Server-sidan En sessions maximala livslängd kan ställas in med SSL_CTX_set_timeout() Sättet att spara sessioner kan ställas in med flaggor med SSL_CTX_set_session_cache_mode() SSL_SESS_CACHE_NO_AUTO_CLEAR Föråldrade SSL_SESSION-poster måste avlägsnas manuellt med SSL_CTX_flush_sessions() SSL_SESS_CACHE_NO_INTERNAL_LOOKUP En sparad SSL_SESSION-post hämtas inte från minnet utan från en fil flagg -värden kombineras med bitwise OR

3 SSL-sessioner / Server-sidan För att spara SSL_SESSION-poster i filer kan 3 självprogrammerade callback -funktioner utnyttjas int new_session_cb(ssl *ctx, SSL_SESSION *session); ställs in för anrop med SSL_CTX_sess_set_new_cb() blir efter inställning automatiskt anropad varje gång en ny SSL_SESSIONpost skapas vid en SSL-handskakning void remove_session_cb(ssl *ctx, SSL_SESSION *session); ställs in för anrop med SSL_CTX_sess_set_remove_cb() blir efter inställning automatiskt anropad vid radering en ogiltig eller föråldrad SSL_SESSION-post SSL_SESSION *get_session_cb(ssl *ctx, unsigned char *id, int len, int ref); ställs in för användning med SSL_CTX_sess_set_get_cb() blir efter inställning automatiskt anropad för att använda en fil då ingen sparad SSL_SESSION-post hittas i minnet SSL-sessioner / Server-sidan new_session_cb( ) { } acquire a lock for the file named according to the session id open file named according to session id encrypt and write the SSL_SESSION object to the file release the lock

4 SSL-sessioner / Server-sidan remove_session_cb( ) { } acquire a lock for the file named according to the session id remove the file named according to the session id release the lock SSL-sessioner / Server-sidan get_session_cb( ) { } acquire a lock for the file named according to the session id in the 2nd arg read and decrypt contents of file and create a new SSL_SESSION object release the lock set the integer referenced by the fourth parameter to 0 return the new session object

5 SSL-sessioner / Klientsidan En SSL_SESSION-post för en SSL_förbindelse returneras med SSL_get_session() eller SSL_get0_session() eller SSL_get1_session() (referensräknaren uppdateras) En SSL_SESSION-post kan sparas i minnet sparas en fil med makron PEM_write_bio_SSL_SESSION() eller makron PEM_write_SSL_SESSION() hämtas från en fil med makron PEM_read_bio_SSL_SESSION() eller Makron PEM_read_SSL_SESSION() SSL-sessioner / Klientsidan ssl = SSL_new(ctx)... setup underlying communications layer for ssl connect to host:port... if (saved_session for host:port in cache) { SSL_set_session(ssl, saved_session) SSL_SESSION_free(saved_session) } SSL_connect(ssl) call post_connection_check(ssl, host) and check return value... normal application code here... Saved_session = SSL_get1_session(ssl) if (saved_session!= NULL) enter saved_session into cache under host:port SSL_shutdown(ssl) SSL_free(ssl)

6 Förnyad SSL-handskakning Begäran om SSL-handskakning med SSL_renegotiate(); En flagga hissas för att begäran om SSL-handskakning skall skickas till SSL-kommunikationpartnern i samband med nästa in/ut-operation Partnern kan ignorera denna begäran OpenSSL version SSL-server kräver förnyad handskakning /* assume ssl is connected and error free up to here */ set_blocking(ssl); /* this is unnecessary if it is already blocking */ SSL_renegotiate(ssl); SSL_do_handshake(ssl); if (ssl->state!= SSL_ST_OK) int_error("failed to send renegotiation request"); ssl->state = SSL_ST_ACCEPT; SSL_do_handshake(ssl); if (ssl->state!= SSL_ST_OK) int_error("failed to complete renegotiation"); /* our renegotiation is complete */

7 OpenSSL version Starkare autentisering krävs av SSL-klient /* assume ctx is an SSL_CTX object that is setup to not have any verify options. */ int normal_user = 1, admin_user = 2; SSL_CTX_set_session_id_context(ctx, &normal_user, sizeof(int)); /* perform rest of ctx setup, create an ssl object, and connect it */ /* normal SSL I/O operations and application code go here */ /* if we want to upgrade client privilege, we enter the following code block */ SSL_set_verify(ssl, SSL_VERIFY_PEER SSL_VERIFY_FAIL_IF_NO_PEER_CERT, verify_callback); SSL_set_session_id_context(ssl, &admin_user, sizeof(int)); /* renegotiation code fragment from previous example goes here. the new session is made */ post_connection_check(ssl, host); /* if everything is error-free, we have properly authenticated the client */ Förnyad SSL-handskakning i OpenSSL version Ny funktion: SSL_renegotiate_pending() Returvärde!= 0 efter begäran om SSL-handskakning så länge handskakning ej skett Returvärde == 0 efter begäran om SSL-handskakning och handskakning har lyckats Ny flagga : SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION, som kan hissas med SSL_CTX_set_options(); Hindrar SSL-klient att återanvända en giltig session efter begäran om SSL-handskakning

8 IN/UT-hantering för SSL-förbindelse En SSL-förbindelse har två nivåer SSL-nivån (pekare på SSL-post) med kryptering/avkryptering Datakanalnivån ( socket -deskriptor) med dataöverföring i datanät SSL_read eller SSL_write kan avbryts när datakanalnivån är upptagen med Förnyad handskakning SSL_read och förnyad handskakning code = SSL_read(ssl, buf + offset, size - offset); switch (SSL_get_error(ssl, code)) { case SSL_ERROR_NONE: /* update the offset value */ offset += code; break; case SSL_ERROR_ZERO_RETURN: /* react to the SSL connection being closed */ do_cleanup(ssl); break; case SSL_ERROR_WANT_READ: /* handle this in an application specific way to retry the SSL_read */ break; case SSL_ERROR_WANT_WRITE: /* handle this in an application specific way to retry the SSL_read */ break; default: /* an error occurred. shutdown the connection */ shutdown_connection(ssl); }

9 Returvärden från anrop av SSL_get_error SSL_ERROR_WANT_READ betyder SSL_read/SSL_write kunde inte fullbordas och underliggande datakanalförbindelse kunde inte fullborda en read -begäran Förnyat anrop av samma SSL_read/SSL_write SSL_ERROR_WANT_WRITE betyder SSL_read/SSL_write kunde inte fullbordas och underliggande datakanalförbindelse kunde inte fullborda en write -begäran Förnyat anrop av samma SSL_read/SSL_write Returvärden från anrop av SSL_get_error SSL_ERROR_ZERO_RETURN betyder SSL_read/SSL_write misslyckades pga avslutad SSL-session. Den underliggande datakanalförbindelsen kan ännu vara öppen städa upp efter den avslutade SSLförbindelsen med anrop av do_cleanup(ssl)

10 Blockerad IN/UT-hantering för SSL-förbindelse Blockeringen sker på den underliggande datakanalnivån Vid förnyad SSL-handskakning som kan ske närsomhelst Anrop av SSL_read kan skicka data till kommunikationspartnern Anrop av SSL_write kan hämta data från kommunikationspartnern Blockerad IN/UT-hantering för SSL-förbindelse Samma anrop av SSL_read/SSL_write bör förnyas om SSL_get_error returnerar SSL_ERROR_WANT_READ eller SSL_ERROR_WANT_WRITE

11 Oblockerad IN/UT-hantering för SSL-förbindelse Om underliggande datakanalnivå inte kan hantera en begäran att skicka/ta emot data, rapporteras detta omedelbart utan väntetid Invecklad IN/UT-hantering Exempel: void data_tranfer(ssl *A, SSL *B); för dataöverföring mellan SSLförbindelserna A och B void data_tranfer(ssl *A, SSL *B); Bufferutrymmen A2B för data avläst från A för att skickas till B. A2B_len-värdet (initialiseras till 0) anger antalet byte i A2B B2A för data avläst från B för att skickas till A. B2A_len-värdet (initialiseras till 0) anger antalet byte i B2A

12 void data_tranfer(ssl *A, SSL *B); Markerings- flaggor have_data_a2b, have_data_b2a (initialiseras till 0) Tillgänglighets- flaggor can_read_a, can_write_b, osv (initialiseras till 0) Blockerings- flaggor T.ex. write_waiton_read_b hissad betyder att den senaste SSL_write för B måste anropas på nytt efter att B är tillgänglig för att hämta data (dessa flaggor initialiseras till 0)

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2012-09-01 Version: 1.0.0 Doc. no.: I04304b Sida 2 av 7 Revision history Datum Version Sign. Kommentar 2012-09-01 1.0.0

Läs mer

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167 GU / Chalmers Campus Lindholmen Tentamen Programutveckling 2016-01-13 LEU 482 / TIG167 Examinator: Henrik Sandklef (0700-909363) Tid för tentamen: 2016-01-13, 08.30 12.30 Ansvarig lärare: Henrik Sandklef,

Läs mer

Beijer Electronics AB 2000, MA00336A, 2000-12

Beijer Electronics AB 2000, MA00336A, 2000-12 Demonstration driver English Svenska Beijer Electronics AB 2000, MA00336A, 2000-12 Beijer Electronics AB reserves the right to change information in this manual without prior notice. All examples in this

Läs mer

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås

Schenker Privpak AB Telefon 033-178300 VAT Nr. SE556124398001 Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr 033-257475 Säte: Borås Schenker Privpak AB Interface documentation for web service packageservices.asmx 2010-10-21 Version: 1.2.2 Doc. no.: I04304 Sida 2 av 14 Revision history Datum Version Sign. Kommentar 2010-02-18 1.0.0

Läs mer

Avancerad SSL-programmering III

Avancerad SSL-programmering III Tekn.dr. Göran Pulkkis Överlärare i Datateknik Avancerad SSL-programmering III 9.2.2012 1 Innehåll Dataformatet PKCS#7 och S/MIMEstandarden Signering av S/MIME-meddelanden och verifiering av signaturer

Läs mer

Application Note SW

Application Note SW TWINSAFE DIAGNOSTIK TwinSAFE är Beckhoffs safety-lösning. En översikt över hur TwinSAFE är implementerat, såväl fysiskt som logiskt, finns på hemsidan: http://www.beckhoff.se/english/highlights/fsoe/default.htm?id=35572043381

Läs mer

SSL/TLS-protokollet och

SSL/TLS-protokollet och Tekn.dr. Göran Pulkkis Överlärare i Datateknik SSL/TLS-protokollet och SSL-baserade applikationer Innehåll Secure Socket Layer (SSL) / Transport Layer Security (TLS) protokollet SSL-baserade applikationer

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

InstalationGuide. English. MODEL:150NHighGain/30NMiniUSBAdapter

InstalationGuide. English. MODEL:150NHighGain/30NMiniUSBAdapter miraclebox miraclewifi InstalationGuide English MODEL:150NHighGain/30NMiniUSBAdapter ENGLISH MIRACLE WIFI 150N & 300N USERMANUAL MIRACLEBOX.SE 1 ENGLISH Table of Contents Package Contents... 3 System Requirements

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public

Läs mer

2.1 Installation of driver using Internet Installation of driver from disk... 3

2.1 Installation of driver using Internet Installation of driver from disk... 3 &RQWHQW,QQHKnOO 0DQXDOÃ(QJOLVKÃ'HPRGULYHU )RUHZRUG Ã,QWURGXFWLRQ Ã,QVWDOOÃDQGÃXSGDWHÃGULYHU 2.1 Installation of driver using Internet... 3 2.2 Installation of driver from disk... 3 Ã&RQQHFWLQJÃWKHÃWHUPLQDOÃWRÃWKHÃ3/&ÃV\VWHP

Läs mer

Avancerad SSL-programmering II

Avancerad SSL-programmering II Tekn.dr. Göran Pulkkis Överlärare i Datateknik Avancerad SSL-programmering II 1 Innehåll Makron för generisk stackhantering Hantering av konfigureringsfiler Certifikathantering 2 1 Makron för generisk

Läs mer

Installation av F13 Bråvalla

Installation av F13 Bråvalla Website: http://www.rbdesign.se Installation av F13 Bråvalla RBDESIGN FREEWARE - ESCK Norrköping-Bråvalla 1. Ladda ner och packa upp filerna i en mapp som du har skapat på ett lättöverskådligt ställe utanför

Läs mer

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets

Surfning. Webbklienter och webbservrar. Specialskrivna webbservrar. Kommunikation med sockets Surfning Webbklienter och webbservrar Starta Firefox (eller Opera, eller Internet Explorer, eller... ). Skriv en URL i adressfältet: http://www.w3.org/history/1989/proposal.html. Webbläsaren kopplar upp

Läs mer

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson Kravhantering På Riktigt, 16 maj 2018 Anna Fallqvist Eriksson Agilista, Go See Talents linkedin.com/in/anfaer/

Läs mer

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson

Fakulteten för ekonomi, kommunikation och IT. Corba. Datum: Mathias Andersson Fakulteten för ekonomi, kommunikation och IT Corba Datum: 2007-10-17 Namn: Kurs: Henrik Bäck Mathias Andersson DVGC02 Innehållsförteckning Implementation 3 IDL-fil 3 Server 3 Klient 3 Körning 3 Bilagor

Läs mer

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167

GU / Chalmers Campus Lindholmen Tentamen Programutveckling LEU 482 / TIG167 GU / Chalmers Campus Lindholmen Tentamen Programutveckling 2016-01-13 LEU 482 / TIG167 Examinator: Henrik Sandklef (0700-909363) Tid för tentamen: 2016-01-13, 08.30 12.30 Ansvarig lärare: Henrik Sandklef,

Läs mer

Föreläsning 3: Booleans, if, switch

Föreläsning 3: Booleans, if, switch TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt

Läs mer

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011

Webbteknik II. Föreläsning 5. Restless farewell. John Häggerud, 2011 Webbteknik II Föreläsning 5 Restless farewell HTTP Request HTTP verbs (methods): GET, POST, HEAD, DELETE, PUT, OPTIONS, TRACE, CONNECT http://www.w3.org/protocols/rfc2616/rfc2616-sec9.html variable=value&variable2=value2

Läs mer

Services + REST och OAuth

Services + REST och OAuth Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 5 Daniel Wetterbro 23 november 2009 Sammanfattning Denna vecka ska vi titta på I/O, samlingar och generics. Övningarna är graderade

Läs mer

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB stefan@aaa-sec.com

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB stefan@aaa-sec.com Authentication Context QC Statement Stefan Santesson, 3xA Security AB stefan@aaa-sec.com The use case and problem User identities and user authentication is managed through SAML assertions. Some applications

Läs mer

LARS. Ett e-bokningssystem för skoldatorer.

LARS. Ett e-bokningssystem för skoldatorer. LARS Ett e-bokningssystem för skoldatorer. Därför behöver vi LARS Boka dator i förväg. Underlätta för studenter att hitta ledig dator. Rapportera datorer som är sönder. Samordna med schemaläggarnas system,

Läs mer

Länkade strukturer. (del 2)

Länkade strukturer. (del 2) Länkade strukturer (del 2) Översikt Abstraktion Dataabstraktion Inkapsling Gränssnitt (Interface) Abstrakta datatyper (ADT) Programmering tillämpningar och datastrukturer 2 Abstraktion Procedurell abstraktion

Läs mer

Datasäkerhet och integritet

Datasäkerhet och integritet Chapter 4 module A Networking Concepts OSI-modellen TCP/IP This module is a refresher on networking concepts, which are important in information security A Simple Home Network 2 Unshielded Twisted Pair

Läs mer

Innehåll. Pekare Exempel

Innehåll. Pekare Exempel Innehåll EDAF30 Programmering i C++ Avslutning. Sammanfattning och frågor 1 Syntax, förklaringar Sven Gestegård Robertz Datavetenskap, LTH 2016 2 Stack-allokering Heap-allokering: new och delete 3 Avslutning.

Läs mer

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas The Distributed Application Debugger is a debugging tool for parallel programs Targets the MPI platform Runs remotley even on private

Läs mer

Innehåll. Pekare Exempel

Innehåll. Pekare Exempel Innehåll EDAF30 Programmering i C++ Avslutning. Sammanfattning och frågor 1 Syntax, förklaringar Sven Gestegård Robertz Datavetenskap, LTH 2017 2 Stack-allokering Heap-allokering: new och delete 3 Avslutning.

Läs mer

Certifikattjänsten - testbädd. Anläggningsprojekt för ett nationellt inkomstregister

Certifikattjänsten - testbädd. Anläggningsprojekt för ett nationellt inkomstregister Certifikattjänsten - testbädd Anläggningsprojekt för ett nationellt inkomstregister 2 (9) INNEHÅLL 1 Inledning... 3 2 Testmaterial... 3 2.1 Parametrar som används i testbäddens tjänster... 3 2.2 Testbäddens

Läs mer

Tips & Trix - Teknik Jeeves World 2011. Copyright 2011 Jeeves Information Systems AB

Tips & Trix - Teknik Jeeves World 2011. Copyright 2011 Jeeves Information Systems AB Tips & Trix - Teknik Jeeves World 2011 Copyright 2011 Jeeves Information Systems AB Agenda Formulärdesign Förbättra användarvänlighet För systemadministratören Tips vid sökning Nätverkskonfigurering Säkerhet

Läs mer

Retrieve a set of frequently asked questions about digital loans and their answers

Retrieve a set of frequently asked questions about digital loans and their answers GetFAQ Webservice name: GetFAQ Adress: https://www.elib.se/webservices/getfaq.asmx WSDL: https://www.elib.se/webservices/getfaq.asmx?wsdl Webservice Methods: Name: GetFAQ Description: Retrieve a set of

Läs mer

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Användarhandledning inloggning Logga in Gå till denna webbsida för att logga in: http://csportal.u4a.se/

Läs mer

/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar.

/* * * Lösningsförslag tentamen DIT950 * Datum * */ /* * -1 - */ För samtliga gäller,se föreläsningsanteckningar. * * Lösningsförslag tentamen DIT950 * Datum 150317 * * -1 - För samtliga gäller,se föreläsningsanteckningar. * - 2 - (Diagram visas inte, kontakta mig för ev frågor) // a C c = new A(); // Compile! Sub

Läs mer

PROFINET MELLAN EL6631 OCH EK9300

PROFINET MELLAN EL6631 OCH EK9300 PROFINET MELLAN EL6631 OCH EK9300 Installation och beskrivningsfil Exemplet visar igångkörning av profinet mellan Beckhoff-master och Beckhoff-kopplare för EL-terminaler. Med ny hårdvara är det viktigt

Läs mer

SSH-protokollet. Niels Möller

SSH-protokollet. Niels Möller SSH-protokollet Niels Möller 2018-03-21 1 / 18 Historia 1993 Kerberos version 5 (RFC 1510) 1995 Första SSH släpps av Tatu Ylonen, för att ersätta telnet, rsh,... 1995 SSL-2.0 (trasigt) släpps av Netscape.

Läs mer

1. Unpack content of zip-file to temporary folder and double click Setup

1. Unpack content of zip-file to temporary folder and double click Setup Instruktioner Dokumentnummer/Document Number Titel/Title Sida/Page 13626-1 BM800 Data Interface - Installation Instructions 1/8 Utfärdare/Originator Godkänd av/approved by Gäller från/effective date Mats

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(7) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2008 05 26, 8.00 13.00 1. a) Raden sent = input.read(buffer); läser in så många bytes (dock max

Läs mer

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP

Transport Layer. Transport Layer. F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering. Java och UDP TCP/UDP F9 Meddelandesändning med UDP EDA095 Roger Henriksson Datavetenskap Lunds universitet Transport Layer Transport Layer Bygger vidare på på "Internet Internet Layer" Layer / IP. / IP. Applikationsprogram

Läs mer

HANTERING AV UPS CX

HANTERING AV UPS CX HANTERING AV UPS CX2100-0904 Hantering av UPS-modulen CX2100-0904. I WES7 och TwinCAT 2. Inställning av UPS:en i WES7 UPS:ens konfigurationsflik Inställningsmöjligheterna för hur UPS:en beter sig finns

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 207-04-06, kl 4-6 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.

Läs mer

Modeller, Objekt och Klasser

Modeller, Objekt och Klasser Modeller, Objekt och Klasser Bildserie 3 Objekt Orienterad Programmering OO-programmering bygger på att vi som människor uppfattar tillvaron i termer av objekt - Bastu, pizza, öl,... Det borde vara lättare

Läs mer

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Objektorienterad Programmering (OOP) Murach s: kap 12-16 Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,

Läs mer

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

Designmönster, introduktion. Vad är det? Varför skall man använda mönster? Designmönster, introduktion. Vad är det? Varför skall man använda mönster? Kent Petersson EMW, Mölndal Datavetenskap, Chalmers epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.se/~kentp

Läs mer

Övning vecka 6. public void method2() { //code block C method3(); //code block D }//method2

Övning vecka 6. public void method2() { //code block C method3(); //code block D }//method2 Övning vecka 6. TDA550 - Objektorienterad programvaruutveckling IT, fk Denna vecka ska vi titta på undantag, testning, generiska enheter, samlingar och designmönstret Iterator. Uppgift 1 Exceptions a)

Läs mer

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata

Innehåll MySQL Intro. Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata Innehåll MySQL Intro Allmänt om Lagrade Procedurer Enkel utformning Skapa en lagrad procedur Använda parameter som indata 1 Lagrad procedur / Stored Procedure Lagrad procedur har många namn, förkortningen

Läs mer

Calculate check digits according to the modulus-11 method

Calculate check digits according to the modulus-11 method 2016-12-01 Beräkning av kontrollsiffra 11-modulen Calculate check digits according to the modulus-11 method Postadress: 105 19 Stockholm Besöksadress: Palmfeltsvägen 5 www.bankgirot.se Bankgironr: 160-9908

Läs mer

ARC 32. Tvättställsblandare/Basin Mixer. inr.se

ARC 32. Tvättställsblandare/Basin Mixer. inr.se ARC 32 Tvättställsblandare/Basin Mixer inr.se SE Användning och skötsel Manualen är en del av produkten. Bevara den under hela produktens livscykel. Vi rekommenderar er att noggrant läsa igenom manualen

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

ÖVERVAKNING AV SQL SERVER

ÖVERVAKNING AV SQL SERVER ÖVERVAKNING AV SQL SERVER Hantering resurser för samtidiga användare Övervakning av SQL Servers aktiviteter Hantering av blockerade processer Användning av SQL Profiler för att hitta besvärliga frågor

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Underprogram - Funktioner Eric Elfving Institutionen för datavetenskap 18 september 2014 Översikt 2/22 Återblick till satsblocken Funktioner - Namngivna satsblock

Läs mer

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean

Läs mer

Tentamen Programmering fortsättningskurs DIT950

Tentamen Programmering fortsättningskurs DIT950 Tentamen Programmering fortsättningskurs Datum: 2015-03-17 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 G: 24-43 VG: 44-60 (max 60) Lärare:. Någon besöker ca 10.00

Läs mer

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011

Webbteknik II. Föreläsning 4. Watching the river flow. John Häggerud, 2011 Webbteknik II Föreläsning 4 Watching the river flow Web Service XML-RPC, SOAP, WSDL, UDDI HTTP Request, Response, Headers, Cache, Persistant Connection REST Hype or the golden way? Web Service / Webbtjänst

Läs mer

H0008 Skrivskydd FBWF

H0008 Skrivskydd FBWF Skrivskydd FBWF Skrivskydd FBWF (File-Based Write Filter) är en Microsoft komponent som finns med i Windows Embedded image. Det finns inte för Windows CE/Compact 7 operativ, hanteringen av skrivningar

Läs mer

Tentamen Nätverksprogrammering Lösningsförslag

Tentamen Nätverksprogrammering Lösningsförslag LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen Nätverksprogrammering Lösningsförslag 2016 05 31, 8.00 13.00 Del 1 1. a) Vid multicast skickas ett datagram från en sändande dator

Läs mer

electiaprotect GSM SEQURITY SYSTEM Vesta EZ Home Application SMART SECURITY SYSTEMS! SVENSKA ios... 2-4 Android... 5-7

electiaprotect GSM SEQURITY SYSTEM Vesta EZ Home Application SMART SECURITY SYSTEMS! SVENSKA ios... 2-4 Android... 5-7 GSM SEQURITY SYSTEM Vesta EZ Home Application SVENSKA ios... 2-4 Android... 5-7 ENGLISH ios... 8-10 Android... 11-13 electiaprotect SMART SECURITY SYSTEMS! 1.1. Vesta EZ Home för ios Vesta EZ Home för

Läs mer

Föreläsning 8 Datastrukturer (DAT037)

Föreläsning 8 Datastrukturer (DAT037) Föreläsning 8 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-23 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Förra

Läs mer

KAP 18 SQL SERVER AGENT

KAP 18 SQL SERVER AGENT KAP 18 SQL SERVER AGENT Tjänsten Sql Server Agent Operator Job Alert (larm) http://www.youtube.com/watch?v=ii1tc493bzm 1 VAD ÄR SQL SERVER AGENT? SQL Server Agent är en tjänst (service) som ansvarar för:

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel 732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public

Läs mer

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 6: Filhantering Henrik Björklund Umeå universitet 13 oktober 2009 Björklund (UmU) Programmeringsteknik 13 oktober 2009 1 / 22 Textfiler Filer är sekvenser

Läs mer

Exam Concurrent and Real-Time Programming

Exam Concurrent and Real-Time Programming LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Exam Concurrent and Real-Time Programming 2018 08 23, 14.00 19.00 1. Vad är prioritetsinversion? Illustrera med ett enkelt exempel. Redogör

Läs mer

tentaplugg.nu av studenter för studenter

tentaplugg.nu av studenter för studenter tentaplugg.nu av studenter för studenter Kurskod Kursnamn UU-76062 Inledande programmering i Java Datum 2014-07-13 Material Tentamen Kursexaminator Betygsgränser Tentamenspoäng G 30; VG 36 40 (VG) Övrig

Läs mer

Imperativ programmering. Föreläsning 2

Imperativ programmering. Föreläsning 2 Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.

Läs mer

Mål med lektionen! Repetera och befästa kunskaperna.

Mål med lektionen! Repetera och befästa kunskaperna. Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer

Läs mer

Recitation 4. 2-D arrays. Exceptions

Recitation 4. 2-D arrays. Exceptions Recitation 4. 2-D arrays. Exceptions Animal[] v= new Animal[3]; 2 declaration of array v Create array of 3 elements v null a6 Assign value of new-exp to v Assign and refer to elements as usual: v[0]= new

Läs mer

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Manuell installation av SQL Server 2008 R2 Express för SSF Timing Manuell installation av SQL Server 2008 R2 Express för SSF Timing Innehåll 1. Metoder att installera...1 2. Förutsättningar...2 DotNet Framework 3.5...2 MSI Installer 4.5...2 3. Hämta SQL Server 2008 R2

Läs mer

F9 Meddelandesändning med UDP

F9 Meddelandesändning med UDP F9 Meddelandesändning med UDP EDA095 Nätverksprogrammering Roger Henriksson Datavetenskap Lunds universitet Transport Layer Bygger vidare på Internet Layer / IP. Applikationsprogram Transportlagret Internetlagret

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

REGISTRERA DIG IDAG Din guide till Ronnebyporten

REGISTRERA DIG IDAG Din guide till Ronnebyporten REGISTRERA DIG IDAG Din guide till Ronnebyporten Hej, Ronnebyporten är en tjänstevalsportal där du själv väljer och aktiverar leverantör av bredband, telefoni, TV och andra digitala tjänster. Att få tillgång

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Underprogram Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Underprogram Parametrar Returvärden Räckvidd och skuggning

Läs mer

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0.. Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private

Läs mer

Information till användaren att han/hon måste aktivera mjukvaran.

Information till användaren att han/hon måste aktivera mjukvaran. Produktaktivering Startfönster Information till användaren att han/hon måste aktivera mjukvaran. Denna guide visas efter att installationen avslutats och first time setup är slutförd. Guiden kommer att

Läs mer

Om inte denna rekommendation efterföljs kan vi tyvärr inte ge några garantier för att vi kan supportera de problem som då kan uppstå.

Om inte denna rekommendation efterföljs kan vi tyvärr inte ge några garantier för att vi kan supportera de problem som då kan uppstå. MAGENTO 3.3.4.4 SVEAWEBPAY MAGENTO INSTALLATION INFORMATION Detta dokument är framtaget i syfte att beskriva hur SveaWebPays Betalmodul för Magento (version 3.3.4.4) uppgraderas, installeraras och konfigureras.

Läs mer

C++ Slumptalsfunktioner + switch-satsen

C++ Slumptalsfunktioner + switch-satsen C++ Slumptalsfunktioner + switch-satsen Veckans avsnitt består av ett antal lite udda funktioner man kan ha nytta av när man skriver program. Det är en slumptalsgenerator och lite annat smått och gott.

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

Läs mer

Fö 8 TSEA81. Real-time Linux

Fö 8 TSEA81. Real-time Linux Fö 8 TSEA81 Real-time Linux Real-time Linux Olika sätt att åstadkomma Real-time Linux: * Linux 2.6 har CONFIG_PREEMPT option, dvs även processer som gör systemanrop kan preemptas. * Linux 2.6 kan köras

Läs mer

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner Programmeringsteknik och Matlab Övning 3 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312

Läs mer

Max Walter Skype Skype Skype Max Walter

Max Walter Skype Skype Skype Max Walter Max Walter Skype Del KOM IGÅNG MED SKYPE 6. Ring till andra på Internet... 7. Telefonkonferenser... 8. Chatta... 9. Filer... 0 0. Videosamtal.... Personuppgifter... 7. Personifiera Skype... 9. Kontaktgrupper...

Läs mer

Användarbeskrivning för Anvisningstjänsten

Användarbeskrivning för Anvisningstjänsten 1 (23) Användarbeskrivning för Anvisningstjänsten 2 (23) INNEHÅLL 1 ALLMÄN BESKRIVNING AV ANVISNINGSTJÄNSTEN... 3 1.1 Skillnad mellan Central och Lokal anvisning... 3 2 INTEGRATION ENLIGT [IDP-DISCO]...

Läs mer

Självbalanserande träd AVL-träd. Koffman & Wolfgang kapitel 9, avsnitt 1 2

Självbalanserande träd AVL-träd. Koffman & Wolfgang kapitel 9, avsnitt 1 2 Självbalanserande träd AVL-träd Koffman & Wolfgang kapitel 9, avsnitt 1 2 1 Balanserade träd Nodbalanserat träd: skillnaden i antalet noder mellan vänster och höger delträd är högst 1 Höjdbalanserat träd:

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 2017-04-06, kl 17-19 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i

Läs mer

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix

Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Sätta upp e-post server Ubuntu 14.04, del 1 installation av programvara, konfiguration av mysql och Postfix Arbetsuppgift 1: Uppdatera och uppgradera din installation. Steg 1: Starta och logga på din server,

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via

Läs mer

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många

Läs mer

KALIBRERINGS MENY. För att komma tillbaka till Mätfunktionerna håll inne M -knappen 3s. eller vänta 1 min. 1 =MOD. 9.6 KBaud

KALIBRERINGS MENY. För att komma tillbaka till Mätfunktionerna håll inne M -knappen 3s. eller vänta 1 min. 1 =MOD. 9.6 KBaud 1 (6) FUNKTION HDH-C kalibrerings/konfigureringsverktyg behövs för drifttagning av HDH-M transmittrarna. Med HDH-C kan följande utföras: - Modbus inställningar - Regulator parametrar - Mät kalibrering

Läs mer

Java, klasser, objekt (Skansholm: Kapitel 2)

Java, klasser, objekt (Skansholm: Kapitel 2) Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma

Läs mer

Språket Python - Del 2 Grundkurs i programmering med Python

Språket Python - Del 2 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt

Läs mer

Tentamensskrivning Nätverksprogrammering (EDA095) , kl 8-13

Tentamensskrivning Nätverksprogrammering (EDA095) , kl 8-13 LUNDS TEKNISKA HÖGSKOLA Datavetenskap Nätverksprogrammering 2006 LÖSNINGAR Tentamensskrivning Nätverksprogrammering (EDA095) 2004-05-27, kl 8-13 DEL 1 - Frågor av teoretisk, principiell eller utredande

Läs mer

Om inte denna rekommendation efterföljs kan vi tyvärr inte ge några garantier för att vi kan supportera de problem som då kan uppstå.

Om inte denna rekommendation efterföljs kan vi tyvärr inte ge några garantier för att vi kan supportera de problem som då kan uppstå. MAGENTO 3.3.4.5 SVEAWEBPAY MAGENTO INSTALLATION INFORMATION Detta dokument är framtaget i syfte att beskriva hur SveaWebPays Betalmodul för Magento (version 3.3.4.5) uppgraderas, installeraras och konfigureras.

Läs mer

BREDBAND MBIT REGISTRERA DIG IDAG. Din guide till Karlshamnsporten

BREDBAND MBIT REGISTRERA DIG IDAG. Din guide till Karlshamnsporten BREDBAND 1000 MBIT REGISTRERA DIG IDAG Din guide till Karlshamnsporten Hej, Karlshamnsporten är en tjänstevalsportal där du själv väljer och aktiverar leverantör av bredband, telefoni, TV och andra digitala

Läs mer

Webbregistrering pa kurs och termin

Webbregistrering pa kurs och termin Webbregistrering pa kurs och termin 1. Du loggar in på www.kth.se via den personliga menyn Under fliken Kurser och under fliken Program finns på höger sida en länk till Studieöversiktssidan. På den sidan

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

Läs mer

Problem som kan uppkomma vid registrering av ansökan

Problem som kan uppkomma vid registrering av ansökan Problem som kan uppkomma vid registrering av ansökan Om du har problem med din ansökan och inte kommer vidare kan det bero på det som anges nedan - kolla gärna igenom detta i första hand. Problem vid registrering

Läs mer

1 Översikt. 1.1 Koncept 1 (19) Tomas Rook Dokument typ. 2010-05-03 Rev. Manual

1 Översikt. 1.1 Koncept 1 (19) Tomas Rook Dokument typ. 2010-05-03 Rev. Manual 1 (19) larmus dokumentation P100503 1 Översikt 1.1 Koncept larmus ökar användarvänligheten i SCD systemet med så självklara saker som sorterbara kolumner, tydligare vyer och filteringsmöjligheter. Eftersom

Läs mer

Typkonvertering. Java versus C

Typkonvertering. Java versus C Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då

Läs mer

Styrteknik 7.5 hp distans: E-1000 och E-Designer

Styrteknik 7.5 hp distans: E-1000 och E-Designer PLC8A:1 E1000 operatörsterminaler En operatörsterminal ger ett gränssnitt mellan männinska-maskin, (MMI människa-maskininteraktion, HMI Human Machine Interface) Alla terminalerna i E1000-serien är utvecklade

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

Läs mer