-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathopl-pki.ttl
More file actions
75 lines (66 loc) · 3.24 KB
/
Copy pathopl-pki.ttl
File metadata and controls
75 lines (66 loc) · 3.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
## Turtle Start ##
@prefix oplcert: <http://www.openlinksw.com/schemas/cert#> .
@prefix cert: <http://www.w3.org/ns/auth/cert#> .
@prefix opl-pki: <http://www.openlinksw.com/schemas/pki#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix wdrs: <http://www.w3.org/2007/05/powder-s#> .
@prefix base58: <https://tools.ietf.org/id/draft-msporny-base58-01.html#> .
@prefix base58-post: <https://medium.com/concerning-pharo/understanding-base58-encoding-23e673e37ff6#> .
@prefix key-reuse: <https://www.venafi.com/blog/dangers-key-reuse#> .
@prefix secp256k1: <https://en.bitcoin.it/wiki/Secp256k1#> .
opl-pki:
a owl:Ontology ;
rdfs:label "OpenLink Public Key Infrastructure Mapping Ontology" ;
rdfs:comment """A collection of terms used to describe entity relationship types associated with
mapping an RSA Public Key to an ECDSA. This need arises from TLSv1.2 not supporting
secp256k1 (Elliptic Curve Parameters used in Bitcoins PKI) for client authentication in order to prevent
cross-protocol security issues, i.e. do not re-use same key for different things."""@en ;
rdfs:seeAlso base58:, base58-post:, key-reuse:, secp256k1: ;
wdrs:describedby <> .
opl-pki:P2PKHaddress
a rdf:Property ;
rdfs:label "P2PKHaddress"@en ;
rdfs:comment """Base 58 Bitcoin Blockchain Address Derived from a Public Key"""@en ;
rdfs:domain opl-pki:WIFKey ;
rdfs:range xsd:base58 ;
rdfs:isDefinedBy opl-pki: .
opl-pki:PublicKey
a rdf:Property ;
rdfs:label "PublicKey"@en ;
rdfs:comment """Public Key"""@en ;
rdfs:domain opl-pki:WIFKey ;
rdfs:range xsd:hexBinary ;
rdfs:isDefinedBy opl-pki: .
opl-pki:proxyKey
a rdf:Property ;
rdfs:label "Proxy PublicKey"@en ;
rdfs:comment """Proxy Public Key"""@en ;
rdfs:domain foaf:Agent ;
rdfs:range opl-pki:WIFKey ;
rdfs:isDefinedBy opl-pki: .
## Usage Example -- Public Key Mapping
@prefix oplcert: <http://www.openlinksw.com/schemas/cert#> .
@prefix cert: <http://www.w3.org/ns/auth/cert#> .
@prefix opl-pki: <http://www.openlinksw.com/schemas/pki#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix wdrs: <http://www.w3.org/2007/05/powder-s#> .
<bitcoin:18PVpyKwC6yhZZwQ9zRq3ARh4tZNztp7og> # Agent Identified using a Bitcoin URI that's associated with
a foaf:Agent ;
opl-pki:key [
a opl-pki:WIFKey ;
opl-pki:P2PKHaddress "18PVpyKwC6yhZZwQ9zRq3ARh4tZNztp7og"^^xsd:base58 ;
opl-pki:PublicKey "037c......a4b3"^^xsd:hexBinary
] ; # Public Key paired with Derived Private Key exported from Bitcoin Wallet
# and Bitcoin Address/Account derived from Public Key comprising:
# [1] Base58 encoded Blockchain Address
# [2] Public Key from which Bitcoin Address was derived
cert:key [
a cert:RSAPublicKey ;
cert:modulus "009f85e9fde75b6f962d9b17cc1149***+++***e8183fdcfc3d79a171ee20ee1b9a4ee22f"^^xsd:hexBinary ;
cert:exponent "65537"^^xsd:int
] . # Public Key for X.509 Cert Generated from Derived Private Key exported from Bitcoin Wallet
## Turtle End ##