How to generate a bitcoin address from a hexadecimal private key using openssl in swift


I have an iOS app which can generate Bitcoin private keys in either a hexadecimal or base64 output. I'd like take the resulting private key and generate the Bitcoin address from it. I've included the openssl library in my project but am confused as to which methods I should use and how to reference opaque pointers that come along with openssL methods when using them in swift.

Andrew Searson

Posted 2018-03-09T02:19:28.920

Reputation: 1

Maybe use a iOS compatible bitcoin library like

– Jonas Schnelli – 2018-03-09T06:40:45.703

I would love to get this to work in my iOS project but I'm not keen enough to understand how I can create a framework to include this library in iOS – Andrew Searson – 2018-03-09T07:59:53.153



I wanted to put this as a short comment, but it get’s unreadable. I also don’t go into segwit.

I am not clear on your question: are you looking how to use the OpenSSL library for iOS (then this might not be the right forum - review of parameters to an OpenSSL library is not bitcoin specific...), or more at the conceptual steps to come to an address? Then read on:-)

Searching for OpenSSL and keys in the forum reveals lots of hints on how to use OpenSSL at the command line. I put here some links, that I find useful for creation and conversion of keys:

Bitcoin Address generation

What are steps 4-9 in bitcoin address generation for?

Then you‘ll have to go some additional steps, as described in bitcoin wiki.

And finally, if you want to check the addresses, this is a useful page:

Let us know how it goes, and see where we can bring you to your goal!


Posted 2018-03-09T02:19:28.920

Reputation: 4 806