feat: add readme
This commit is contained in:
		
							parent
							
								
									d79f43f6a4
								
							
						
					
					
						commit
						aa713af153
					
				
							
								
								
									
										44
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
# go-grpc-certificate
 | 
			
		||||
 | 
			
		||||
## Problem's context
 | 
			
		||||
I've got some trouble while I want to use gRPC through TLS certificates. I've created a certificated from a .pem key file which had
 | 
			
		||||
a password and I couldn't use it through `go` standard library. I found a solution based on this **[SO answer](https://stackoverflow.com/a/56131169/6329540)** to this **[question](https://stackoverflow.com/questions/56129533/tls-with-certificate-private-key-and-pass-phrase/56131169#comment132834574_56131169)**
 | 
			
		||||
 | 
			
		||||
## Solution
 | 
			
		||||
I've decided to use **[openssl](https://www.openssl.org/docs/manmaster/man1/)** to achieve this task as far as I was not able to found a solution in go standard library.
 | 
			
		||||
 | 
			
		||||
## Installation requirements
 | 
			
		||||
I've used this version on development. So we should check if it backwards compatible.
 | 
			
		||||
```shell
 | 
			
		||||
$ openssl version
 | 
			
		||||
OpenSSL 3.0.8 7 Feb 2023 (Library: OpenSSL 3.0.8 7 Feb 2023)
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## How to use
 | 
			
		||||
In your `go` project you just have to type in your terminal:
 | 
			
		||||
```shell
 | 
			
		||||
$ go get gitea.urkob.com/urko/go-grpc-certificate
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Then place in your code like this
 | 
			
		||||
```go
 | 
			
		||||
package main
 | 
			
		||||
 | 
			
		||||
// here should be defined your imports
 | 
			
		||||
certcreds "gitea.urkob.com/urko/go-grpc-certificate/pkg/credentials"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
func main() {
 | 
			
		||||
    certPath := "place your certificate path"
 | 
			
		||||
    certKeyPath := "place your key file path"
 | 
			
		||||
    keyPassword := "place your key password here"
 | 
			
		||||
 | 
			
		||||
    creds, err = certcreds.CredentialsFromKeyWithPasswd(
 | 
			
		||||
        certPah, certKeyPath, keyPassword,
 | 
			
		||||
    )
 | 
			
		||||
    if err != nil {
 | 
			
		||||
        log.Fatalf("Failed loading certificates: %v\n", err)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user