SlideShare a Scribd company logo
1 of 42
Download to read offline
T 
L 
S
Awesome
Sauce,
or...
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
H 

Exception
in
thread
"main"
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException:
PKIX
path
building
failed:




at
sun.security.ssl.Alerts.getSSLException(Alerts.java:192)





at
sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)





at
sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)





at
sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)





at
sun.security.ssl.ClientHandshaker.serverCertif cate(ClientHandshaker.java:1506)





at
sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)





at
sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)





at
sun.security.ssl.Handshaker.process_record(Handshaker.java:914)





at
sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)





at
sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)





at
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)





at
sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)





at
sun.net. .protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)





at
sun.net. .protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)





at
sun.net. .protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1512)





at
sun.net. .protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)





at
sun.net. .protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)





at
it.mulders.maarten.Demo.main(Demo.java:13)

Caused
by:
sun.security.validator.ValidatorException:
PKIX
path
building
failed:
sun.security.provider.certpath.SunCertPathBuilderExc




at
sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:387)





at
sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:292)





at
sun.security.validator.Validator.validate(Validator.java:260)





at
sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)





at
sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)





at
sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)





at
sun.security.ssl.ClientHandshaker.serverCertif cate(ClientHandshaker.java:1488)





 
13
more

Caused
by:
sun.security.provider.certpath.SunCertPathBuilderException:
unable
to
f nd
valid
certif cation
path
to
requested
target





at
sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:146)





at
sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)





at
java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)

at sun security validator PKIXValidator doBuild(PKIXValidator java:382)
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
7
L 
 
OSI
M
data
unit layers
Data
Data
Data
Segments
Packets
Frames
Bits
Application

Network
Process
to
Application
Presentation

Data
Representation

and
Encryption
Session

Interhost
Communication
Transport

End­to­End
Connections

and
Reliability
Network

Path
Determination
and

Logical
Addressing
(IP)
Data
Link

Physical
Addressing

(MAC
and
LLC)
Physical

Media,
Signal
and

Binary
Transmission
Host
LayersMedia
Layers
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
H 
 
SSL
 
TLS
SSL
1.0 never
released
SSL
2.0 1995
-
2011
(POODLE)
SSL
3.0 1996
-
2014
(POODLE)
TLS
1.0 1999
-
2011
(BEAST)
TLS
1.1 2006
TLS
1.2 2008
TLS
1.3 2018
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
D 
 

What's
the
issue?!
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
H 
 

1.
public/private
key
encryption
2.
signed
certificates
3.
certificate
authorities
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
1 
P 
 
P
K 
E
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
M 

1.
Select
two
prime
numbers:

2.
Calculate
product:

3.
Select
random
number
<
product:

4.
Find
d,
so
that

a.

b.

c.

d.

Note
that
 
varies
with
 :
when
 .
p = 11, q = 17
p ∗ q = 187
e = 3
(d ∗ e) − 1 mod (p − 1) ∗ (q − 1) = 0
(d ∗ 3) − 1 mod (10 ∗ 16) = 0
320 mod 160 = 0
(321 − 1) mod 160 = 0
(107 ∗ 3) = 321 ⇒d = 107
d e e = 75, d = 183
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
N ,
 
 
P
 
Q

1.

2.
Find
d,
so
that

Pretty
hard
without
knowing
 
and
 !
As
soon
as
we
know
 ,
calculating
 
is
trivial
(again).
p ∗ q = 299, e = 5
(d ∗ e) − 1 mod (p − 1) ∗ (q − 1) = 0
p q
p = 13, q = 23 d = 317
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
For
big
enough
 
and
 ,
finding
those
factors
will
cost
an
eternity!
So
we
can
distribute
 
and
even
 !
p q
p ∗ q e
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
L 
 
"G"
p ∗ q = 187, e = 3, G ⇒ 7
= = 3437
e
7
3
343 mod 187 = 156
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
L 
 
"156"
Since
we
know
 
and
 ,
we
can
calculate
p q d = 107
= ≈ 4.6 ∗156
d
156
107
10
234
mod 187 = 7156
107
7 ⇒ G
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
N 
 
 

Client Server
1 ClientHello →
2 ← ServerHello
3 ← Certificate
4 ← ServerKeyExchange
5 ← ServerHelloDone
6 ClientKeyExchange →
7 ChangeCipherSpec →
8 Finished →
9 ← ChangeCipherSpec
10 ← Finished
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
D 
 

No-one
is
eavesdropping!
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
2 
S
C
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
A
certificate
contains:
Serial
Number
Subject
Validity
Usage
Public
Key
Fingerprint
Algorithm
Fingerprint
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
But
wait...
anyone
could
create
a
certificate!
So
we
also
need
Signature
Algorithm
Signature
Issuer
...
and
a
way
to
sign
certificates.
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
A
signature
is
a
mathematical
relationship
between
a
message

,
a
private
key
 
and
a
public
key
 .
It
consists
of
two
functions:
1.
signing
function

2.
verifying
function

So,
given
 
and
 
and
knowing
 ,
we
can
tell
if
 
is
indeed
signed
by
 .
x sk pk
t = f (sk, x)
[accept, reject] = g(pk, t, x)
x t pk x
sk
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
3 
C
A
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
An
entity
that
issues
digital
certificates,
certifying
the
ownership
of
a
public
key
by
the
subject
of
the
certificate.
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
I
John
?
Alice
So,
who
is
John,
anyway?
Many
John's
in
todays
browsers
and
operating
systems!
“I
can
trust
you,
because
I
trust
John,
and
John
trusts
Alice,
and
Alice
trusts
you.
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
Top-notch
security
procedures,
including
"key
ceremonies"
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
/**
intentionally
left
blank
*/
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
W 
 

Google
blacklists
247
certificates
in
Chromium
Microsoft
removes
the
DigiNotar
root
certificate
from
all
supported
Windows-releases
*
Mozilla
revokes
trust
in
the
DigiNotar
root
certificate
in
all
supported
versions
Apple
issued
Security
Update
2011-005


Update
Certificate
Revocation
Lists
(although
these
are
self-
signed)
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
D 
 

Trust
(for
what
it's
worth)
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
T ,
T 
 
T
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
Simple
HTTP
client
with
TLS
support:


curl
­v
­k
<address>
Troubleshoot
trust
issues
and
see
certificates
being
used:


openssl
s_client
­showcerts
­servername
<address>
­
connect
<address>:443
Troubleshoot
supported
protocols,
ciphers,
...:


nmap
­­script
ssl­enum­ciphers
­p
443
<address>
Trace
(or
even
decrypt)
TLS
traffic:


ssldump
­i
eth0
port
443
and
host
<address>
(add
­Ad
­k
<keyfile>
­p
<password>
for
decryption)
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
JVM
S
­Djavax.net.ssl.trustStore=<file>


Denotes
where
a
truststore
can
be
found:
a
file
that
contains
trusted
certs.


­Djavax.net.ssl.trustStorePassword=changeit


is
the
password
to
that
file.
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
JVM
S
­Djavax.net.ssl.keyStore=<file>


Denotes
where
a
keystore
can
be
found:
a
file
that
contains
public
and/or
private
keys.


­Djavax.net.ssl.keyStorePassword=changeit


is
the
password
to
that
file.
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
JVM
S
­Djavax.net.debug=ssl[:flag]


Include
debug
logging
for
TLS
handshake
and
connections.
Additional
flags:
record session sessioncache pluggability plaintext
handshake defaultctx keymanager data packet
keygen sslctx trustmanager verbose
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
P
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
P 
 
 -
1.
Don't
use
SSL!


Use
TLS
v1.2
or
v1.3.
2.
Be
careful
whom
you
trust!
3.
When
in
doubt,
open
your
toolbox:


openssl,
curl,
nmap,
ssldump
and
Portecle
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
Q








I 

Router
by

Public
Key
Krüpto
by
 ,
 ,
and
 
( )
Puss
In
Boots
by

IANA
Root
KSK
Ceremony
#36
@

Beverwijk
by
 
@

unknown
author
Sándor
P.
Fekete Sebastian
Morr Sebastian
Stiller @ideainstruction
kisspng
https://www.iana.org/dnssec/ceremonies/36
Gerard
Hogervorst Wikimedia
Commons
Maarten
Mulders
(@mthmulders)#tlsformortals
#lockdownlectures
SSL/TLS for Mortals (Lockdown Lecture)

More Related Content

Similar to SSL/TLS for Mortals (Lockdown Lecture)

Similar to SSL/TLS for Mortals (Lockdown Lecture) (20)

SSL/TLS for Mortals (Devoxx)
 SSL/TLS for Mortals (Devoxx) SSL/TLS for Mortals (Devoxx)
SSL/TLS for Mortals (Devoxx)
 
SSL/TLS for Mortals (UtrechtJUG)
SSL/TLS for Mortals (UtrechtJUG)SSL/TLS for Mortals (UtrechtJUG)
SSL/TLS for Mortals (UtrechtJUG)
 
SSL/TLS for Mortals (GOTO Berlin)
SSL/TLS for Mortals (GOTO Berlin)SSL/TLS for Mortals (GOTO Berlin)
SSL/TLS for Mortals (GOTO Berlin)
 
SSL/TLS for Mortals (JavaZone)
SSL/TLS for Mortals (JavaZone)SSL/TLS for Mortals (JavaZone)
SSL/TLS for Mortals (JavaZone)
 
SSL/TLS for Mortals (Devoxx FR 2018)
SSL/TLS for Mortals (Devoxx FR 2018)SSL/TLS for Mortals (Devoxx FR 2018)
SSL/TLS for Mortals (Devoxx FR 2018)
 
SSL/TLS for Mortals (J-Fall)
SSL/TLS for Mortals (J-Fall)SSL/TLS for Mortals (J-Fall)
SSL/TLS for Mortals (J-Fall)
 
Whispered secrets
Whispered secretsWhispered secrets
Whispered secrets
 
Whispered secrets
Whispered secretsWhispered secrets
Whispered secrets
 
Encrption in mule
Encrption in muleEncrption in mule
Encrption in mule
 
Pgp security mule
Pgp security   mulePgp security   mule
Pgp security mule
 
Secure shell(ssh) AND telnet AND CONSOLE
Secure shell(ssh)  AND telnet AND CONSOLESecure shell(ssh)  AND telnet AND CONSOLE
Secure shell(ssh) AND telnet AND CONSOLE
 
Grokking Grok: Monitorama PDX 2015
Grokking Grok: Monitorama PDX 2015Grokking Grok: Monitorama PDX 2015
Grokking Grok: Monitorama PDX 2015
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Beyond php - it's not (just) about the code
Beyond php - it's not (just) about the codeBeyond php - it's not (just) about the code
Beyond php - it's not (just) about the code
 
Conf2015 d waddle_defense_pointsecurity_deploying_splunksslbestpractices
Conf2015 d waddle_defense_pointsecurity_deploying_splunksslbestpracticesConf2015 d waddle_defense_pointsecurity_deploying_splunksslbestpractices
Conf2015 d waddle_defense_pointsecurity_deploying_splunksslbestpractices
 
Actor Concurrency
Actor ConcurrencyActor Concurrency
Actor Concurrency
 
SSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingSSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and Scheduling
 
Beyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the codeBeyond PHP - It's not (just) about the code
Beyond PHP - It's not (just) about the code
 
Information security programming in ruby
Information security programming in rubyInformation security programming in ruby
Information security programming in ruby
 
Cassandra Security Configuration
Cassandra Security ConfigurationCassandra Security Configuration
Cassandra Security Configuration
 

More from Maarten Mulders

More from Maarten Mulders (20)

What's cooking in Maven? (Devoxx FR)
What's cooking in Maven? (Devoxx FR)What's cooking in Maven? (Devoxx FR)
What's cooking in Maven? (Devoxx FR)
 
Making Maven Marvellous (Devnexus)
Making Maven Marvellous (Devnexus)Making Maven Marvellous (Devnexus)
Making Maven Marvellous (Devnexus)
 
Making Maven Marvellous (Java.il)
Making Maven Marvellous (Java.il)Making Maven Marvellous (Java.il)
Making Maven Marvellous (Java.il)
 
Making Maven Marvellous (JavaZone)
Making Maven Marvellous (JavaZone)Making Maven Marvellous (JavaZone)
Making Maven Marvellous (JavaZone)
 
Dapr: Dinosaur or Developer's Dream? (v1)
Dapr: Dinosaur or Developer's Dream? (v1)Dapr: Dinosaur or Developer's Dream? (v1)
Dapr: Dinosaur or Developer's Dream? (v1)
 
Dapr: Dinosaur or Developer Dream? (J-Fall)
Dapr: Dinosaur or Developer Dream? (J-Fall)Dapr: Dinosaur or Developer Dream? (J-Fall)
Dapr: Dinosaur or Developer Dream? (J-Fall)
 
React in 40 minutes (Voxxed Days Romania)
React in 40 minutes (Voxxed Days Romania) React in 40 minutes (Voxxed Days Romania)
React in 40 minutes (Voxxed Days Romania)
 
React in 40 minutes (JCON)
React in 40 minutes (JCON) React in 40 minutes (JCON)
React in 40 minutes (JCON)
 
React in 50 minutes (Bucharest Software Craftsmanship Community)
React in 50 minutes (Bucharest Software Craftsmanship Community)React in 50 minutes (Bucharest Software Craftsmanship Community)
React in 50 minutes (Bucharest Software Craftsmanship Community)
 
React in 50 Minutes (JNation)
 React in 50 Minutes (JNation)  React in 50 Minutes (JNation)
React in 50 Minutes (JNation)
 
Making Maven Marvellous (J-Fall)
Making Maven Marvellous (J-Fall)Making Maven Marvellous (J-Fall)
Making Maven Marvellous (J-Fall)
 
Building a DSL with GraalVM (Oracle Groundbreaker APAC Virtual Tour)
Building a DSL with GraalVM (Oracle Groundbreaker APAC Virtual Tour)Building a DSL with GraalVM (Oracle Groundbreaker APAC Virtual Tour)
Building a DSL with GraalVM (Oracle Groundbreaker APAC Virtual Tour)
 
Building a DSL with GraalVM (javaBin online)
Building a DSL with GraalVM (javaBin online)Building a DSL with GraalVM (javaBin online)
Building a DSL with GraalVM (javaBin online)
 
React in 50 Minutes (OpenValue)
React in 50 Minutes (OpenValue) React in 50 Minutes (OpenValue)
React in 50 Minutes (OpenValue)
 
React in 50 Minutes (DevNexus)
React in 50 Minutes (DevNexus) React in 50 Minutes (DevNexus)
React in 50 Minutes (DevNexus)
 
React in 45 Minutes (Jfokus)
React in 45 Minutes (Jfokus)React in 45 Minutes (Jfokus)
React in 45 Minutes (Jfokus)
 
Building web applications with React (Jfokus)
Building web applications with React (Jfokus)Building web applications with React (Jfokus)
Building web applications with React (Jfokus)
 
Building a DSL with GraalVM (CodeOne)
Building a DSL with GraalVM (CodeOne)Building a DSL with GraalVM (CodeOne)
Building a DSL with GraalVM (CodeOne)
 
Building a DSL with GraalVM (Full Stack Antwerpen)
Building a DSL with GraalVM (Full Stack Antwerpen)Building a DSL with GraalVM (Full Stack Antwerpen)
Building a DSL with GraalVM (Full Stack Antwerpen)
 
Building a DSL with GraalVM (Devoxx PL)
Building a DSL with GraalVM (Devoxx PL) Building a DSL with GraalVM (Devoxx PL)
Building a DSL with GraalVM (Devoxx PL)
 

Recently uploaded

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 

SSL/TLS for Mortals (Lockdown Lecture)