- Cloud Native programming with Golang
- Mina Andrawos Martin Helmich
- 414字
- 2021-07-02 20:03:44
Obtaining a certificate
The default method to obtain a digital certificate for your organization, start-up, or website is to buy the service of verifying your identity and issuing a certificate from a certificate authority provider. As we mentioned earlier, there are multiple certificate authority providers. A list of the most popular providers can be found in Wikipedia at: https://en.wikipedia.org/wiki/Certificate_authority#Providers
There are also certificate authorities who provide the service for free. For example, in 2016, the Mozilla Foundation along with the Electronic Frontier Foundation and the University of Michigan collaborated to found a certificate authority called Let's Encrypt, which can be found at: https://letsencrypt.org/. Let's Encrypt is a free service that performs the validation, signing, and issuing of certificates in an automated fashion.
That sounds great. However, what if we just want to test some local web application such as the event's microservice we built in the preceding chapter? In this case, we will need a more straightforward way to generate certificates that we can work and test with. Then, after that, when we deploy to production, we can use a trusted certificate authority to issue certificates for us that will be respected by web browsers and clients connected to the internet.
The straightforward approach to generating certificates for our testing, in this case, would be to manually create our own certificates and self-sign them. The advantage of this is that we can generate numerous certificates to use in our internal testing without getting through a verification process. The disadvantage, however, is the fact that any third-party web clients, such as web browsers, that would try to connect to our web applications via our self-signed certificates would not identify the issuer of those certificates and hence will generate a lot of warnings before allowing us to proceed.
To generate our newly minted self-signed digital certificates, we will need to use specialized tools that understand the algorithms enough to create the necessary outputs. Remember that in order to initiate an HTTPS session, we need the following:
- A digital certificate which will contain the following:
- A public key that can be shared with other parties.
- The server name or domain name who owns the certificate.
- The issuer of the certificate. In case of a self-signed certificate, the issuer would just be us. In case of a certificate issued by a trusted certificate authority, the issuer will be the CA.
- A private key that we need to keep a secret and not share with anyone
- 5G通信系統(tǒng)定位技術(shù)原理與方法
- 用萬用表檢修液晶電視機(jī)一學(xué)就會
- 第三代移動通信
- Altium DXP 2004電路設(shè)計(jì)
- 隨機(jī)多址通信系統(tǒng)理論及仿真研究
- 輕松跟我學(xué)Protel 99SE電路設(shè)計(jì)與制版
- 室內(nèi)定位理論、方法和應(yīng)用
- 路由器/交換機(jī)項(xiàng)目實(shí)訓(xùn)教程
- libGDX移動游戲開發(fā)從入門到精通
- 創(chuàng)客電子制作實(shí)例精選:36個(gè)趣味電子DIY項(xiàng)目
- 全程圖解變頻器應(yīng)用與檢測技能
- iOS 7開發(fā)快速入門
- 競賽中學(xué)電路
- 液晶彩電電源板維修快易通(第3版)
- BREW進(jìn)階與精通