Eduroam 인증서 생성
radsec 설정
공통 인증서
# ca 개인 키 생성 openssl genrsa -aes256 -out ca.key 4096 # ca 인증서 생성 openssl req -new -x509 -days 365 -key ca.key -out ca.crt
서버별 인증서
# 서버 개인 키 생성(Freeradius가 부팅 시 읽어야 하므로 암호 제거) openssl genrsa -out server.key 2048 # 서버 설정 파일 생성 cat > server.cnf << EOF [ req ] distinguished_name = req_distinguished_name req_extensions = v3_req prompt = no [ req_distinguished_name ] C = 국가코드 ST = 도시 L = 구/시 O = SERVER OU = RADIUS CN = 서버의 FQDN (도메인) # 도메인이 필수는 아님 [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = # <-- 서버의 FQDN IP.1 = # <--서버의 실제 IP 주소 EOF # 서버 csr 생성 openssl req -new -key server.key -out server.csr -config server.cnf # 서버 인증서 발급 openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key \ -CAcreateserial -out server.crt -days 365 -sha256 \ -extfile server.cnf -extensions v3_req
유저 권한
usermod -a -G freerad radsecproxy
server.pem 생성
#server.cnf cat > server.cnf << 'EOF' basicConstraints = CA:FALSE keyUsage = digitalSignature, keyEncipherment extendedKeyUsage = serverAuth, clientAuth subjectKeyIdentifier = hash authorityKeyIdentifier = keyid,issuer EOF #server.key openssl genrsa -out server.key 2048 #server.scr (ex KISTI) openssl req -new -key server.key -out server.csr \ -subj "/C=KR/ST=Daejeon/L=Daejeon/O=KISTI/CN=KISTI/emailAddress=admin@kisti.re.kr" #server/pem openssl x509 -req -in server.csr \ -CA ca.pem -CAkey ca.key \ -CAcreateserial -out server.pem \ -days 3650 -sha256 \ -extfile server.cnf
클라이언트 인증서 생성
#client.key openssl genrsa -out client.key 2048 #client.csr openssl req -new -key client.key -out client.csr -subj "/CN=kaist-test-client" #client.crt openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt chmod o+r /경로/certs/* #인증서 비밀번호 제거 openssl rsa -in server.key -out server.key