Skip to content

Commit c7fdd9d

Browse files
committed
Added additional pki_type values
1 parent 6559767 commit c7fdd9d

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

bip-0075.mediawiki

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,21 @@ A Bitcoin wallet developer would like to use a public Store & Forward service fo
6767

6868
With this BIP, returned payment information is encrypted with an ECDH-computed shared key before sending to a Store & Forward service. In this case, a successful attack against a Store & Forward service would not be able to read or modify wallet address or payment information, only delete encrypted messages.
6969

70+
==Modifying BIP70 pki_type==
71+
This BIP adds additional possible values for the pki_type variable in the PaymentRequest message. The complete list is now as follows:
72+
73+
{| class="wikitable"
74+
! pki_type !! Description
75+
|-
76+
| x509+sha256 || A x.509 certificate, as described in BIP70
77+
|-
78+
| pgp+sha256 || An [[https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP|OpenPGP]] certificate
79+
|-
80+
| ecdsa+sha256 || A [[https://en.bitcoin.it/wiki/Secp256k1|secp256k1]] [[https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm|ECDSA]] public key
81+
|}
82+
83+
'''NOTE''': Although SHA1 was supported in BIP70, it has been deprecated and BIP75 only supports SHA256. The hashing algorithm is still specified in the values listed above for forward and backwards compatibility.
84+
7085
==New Messages==
7186
Updated [/bip-0075/paymentrequest.proto paymentrequest.proto] contains the existing PaymentRequest Protocol Buffer messages as well as the messages newly defined in this BIP.
7287

@@ -94,7 +109,7 @@ message InvoiceRequest {
94109
|-
95110
| amount || amount is integer-number-of-satoshis (default: 0)
96111
|-
97-
| pki_type || none / x509+sha256 (default: "none")
112+
| pki_type || none / x509+sha256 / pgp+sha256 / ecdsa+sha256 (default: "none")
98113
|-
99114
| pki_data || Depends on pki_type
100115
|-
@@ -343,8 +358,9 @@ If a Store & Forward server wishes to protect themselves from spam or abuse, the
343358
Clients SHOULD keep in mind Receivers can broadcast a transaction without returning an ACK. If a Payment message needs to be updated, it SHOULD include at least one input referenced in the original transaction to prevent the Receiver from broadcasting both transactions and getting paid twice.
344359

345360
==Public Key & Signature Encoding==
346-
* All EC public keys ('''sender_public_key''', '''receiver_public_key''') included in any message defined in this BIP MUST be DER [ITU.X690.1994] encoded.
361+
* All EC public keys ('''sender_public_key''', '''receiver_public_key''') or x.509 certificates included in any message defined in this BIP MUST be DER [ITU.X690.1994] encoded.
347362
* All ECC signatures included in any message defined in this BIP MUST use the SHA-256 hashing algorithm and MUST be DER [ITU.X690.1994] encoded.
363+
* All OpenPGP certificates must follow [[https://tools.ietf.org/html/rfc4880|RFC4880]], sections 5.5 and 12.1.
348364
349365
==Implementation==
350366
A reference implementation for a Store & Forward server supporting this proposal can be found here:

0 commit comments

Comments
 (0)